분류 전체보기 244

[안드로이드] Activity, Fragment 간 데이터 주고받기 2

액티비티 -> 액티비티/프래그먼트 https://sssbin.tistory.com/212 [안드로이드] Activity, Fragment 간 데이터 주고받기 Activity -> Activity // LoginActivity (온클릭리스너 안에) Intent intent = new Intent(getApplicationContext(), MainActivity.class); intent.putExtra("nickname", res.getMessage()); startActivity(intent); // MainActivity (온크리에이트 안에) Int sssbin.tistory.com 이번엔 Fragment Result API를 이용하여 프래그먼트 -> 액티비티/프래그먼트 를 다뤄보려고 한다! Frag..

*/Android 2023.02.19

[안드로이드] Retrofit, Shared Preferences 객체 싱글톤 패턴으로 사용하기

Shared Preferences, Retrofit과 같은 객체들은 싱글톤 패턴으로 앱이 실행될 때 한번만 생성해놓고 사용하는 것이 효율적이다. (+ 데이터베이스 등등) // 앱이 실행될때 1번만 실행 class ApplicationClass : Application() { val API_URL = "-" // 전역변수 companion object { lateinit var prefs: SharedPreferences lateinit var sRetrofit: Retrofit } // 앱이 처음 생성될 때 override fun onCreate() { super.onCreate() prefs = applicationContext.getSharedPreferences("prefs", MODE_PRIVAT..

*/Android 2023.02.19

[프로그래머스 | Lv2] 롤케이크 자르기 (Python)

https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 단순하게 푼 코드 차례대로 리스트를 나누면서 set으로 만들어 길이를 비교했다. # 프로그래머스 132265: 롤케이크 자르기 def solution(topping): answer = 0 s = round(len(set(topping)) // 2) for i in range(s, len(topping)-s+1): if len(set(topping[:i])) == len(set(toppin..

[프로그래머스 | Lv2] 마법의 엘리베이터 (Python)

https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 가볍게 생각했다가 스트레스 받아서 죽을 뻔 함ㅠㅋㅋㅋㅋㅋㅋㅋㅋㅋ 갈 길이 멀다... 첫 시도 -> 테케 다 맞아서 오!! 했는데 채점 결과 두 문제 맞힘;; 두 번째 시도 -> 테케도 이것저것 추가하고 다 맞아서 기대했는데 또 틀림. 세 번째 시도 -> 게시판 탐색 후 "5"를 기준으로 답이 달라진다는걸 캐치. 근데 또 틀림. 네 번째 시도 -> 일의 자리를 탐색하고 있을 때를 생각 못했다는 걸..

[프로그래머스 | Lv2] 이진 변환 반복하기 (Python)

https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 프로그래머스 70129: 이진 변환 반복하기 def solution(s): d = 0 t = 0 while s != '1': d += s.count('0') x = s.count('1') temp = '' while x != 1: temp = str(x % 2) + temp x //= 2 temp = '1' + temp t += 1 s = temp return [t, d] 멍청하게 이진법 풀고..

[프로그래머스 | Lv2] 귤 고르기 (Python)

https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 프로그래머스 138476: 귤 고르기 def solution(k, tangerine): dic = {} for i in tangerine: try: dic[i] += 1 except: dic[i] = 1 dic = dict(sorted(dic.items(), key=lambda x:x[1])) n = len(tangerine) - k cnt = len(dic) i = 0 for key in ..

[프로그래머스 | Lv1] 실패율 (Python) - 2019 KAKAO BLIND RECRUITMENT

https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음엔 for문을 돌리면서 도달과 클리어 개수를 하나하나 세서 계산했다. 하지만 한 문제에서 시간 초과가 떴고, 다시 문제를 보면서 규칙을 찾아냈다. 각 스테이지에 도달한 플레이어의 수는 전 스테이지를 클리어한 플레이어 수와 같고, 어차피 위의 과정에서 도달하지 못한 플레어어의 수는 걸러지기 때문에 스테이지에 도달했지만 클리어하지 못한 플레이어의 수는 stages에서 해당 숫자(+1)의 count..

[프로그래머스 | Lv1] 크레인 인형뽑기 게임 (Python) - 2019 카카오 개발자 겨울 인턴십

https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 생각한 방법은 처음엔 for문을 차례대로 돌면서 값이 0이 아닐 때 바구니에 추가하려고 했지만 매 반복문마다 0이 아닌 인덱스를 찾는게 비효율적이라고 느껴져서 아예 처음부터 0이 아닌 인덱스를 찾아놓고 시작했다. 어차피 인형들은 밑에서부터 쌓여있기 때문에 0이 아닌 인덱스를 찾아놓으면 그 이후 인덱스는 모두 0이 아님! 0이 아닌 가장 작은 인덱스 리스트를 구해놓고 moves를 돌리면서 바구..

[프로그래머스 | Lv1] 키패드 누르기 (Python) - 2020 카카오 인턴십

https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 키패드를 좌표로 딕셔너리에 저장해주고 1) number가 1, 4, 7이면 'L' & 현재 위치 저장 2) number가 3, 6, 9이면 'R' & 현재 위치 저장 3) number가 2, 5, 8, 0이면 현재 왼손과 오른손의 위치를 비교해서 더 가까운 손으로 출력 ㄴ 거리가 같으면 hand에 따라 출력해준다. # 프로그래머스 67256: 키패드 누르기 (2020 카카오 인턴십) def sol..

[프로그래머스 | Lv1] 숫자 짝꿍 (Python)

https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr (실패) 입력받은 숫자를 리스트로 만들어서 역순으로 정렬해주고 반복문을 돌려 2개의 리스트(임의로 a, b)를 비교해서 숫자가 같으면 인덱스 둘다 넘어가고 a 0) 그리고 문자열 앞의 0~을 걸러야 한다고 생각해서 result를 string -> int -> string 변환 과정을 거쳤었는데, 생각해보니 어차피 숫자가 높은 순으로 정렬했기 때문에 답이 0이 아닌 이상 문자열 앞에 0이 올 경우..