본문 바로가기

프로그래밍127

[Android] SharedPreferences generic (kotlin) Reference https://blog.naver.com/PostView.naver?blogId=tkddlf4209&logNo=222181366697&categoryNo=0&parentCategoryNo=0&viewDate=&currentPage=1&postListTopCurrentPage=1&from=postView [Android] SharedPreference with Generic SharedPreferece 사용 시 매번 sharedPreference 값을 set하거나 get 할 때 메서드를 매번 새로 만들다 ... blog.naver.com 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647.. 2022. 3. 3.
[Android] 'FragmentManager is already executing transactions' error when changing fragment of bottomnavigationview programmatically (AAC Navigation) bottomnavigationview의 fragment 를 강제로 바꿔주는 코드를 구현 중이었음. val bottomNav = activity?.findViewById(R.id.bottom_nav) bottomNav?.selectedItemId = R.id.dreamlist 근데 터짐. 어떻게 해결할 것인가. 먼저, navigation 이동 시에 fragment 재생성을 방지하도록 아래 코드(KeepStateNavigator) 를 사용하고 있었다. https://github.com/STAR-ZERO/navigation-keep-fragment-sample/blob/master/app/src/main/java/com/star_zero/navigation_keep_fragment_sample/navigati.. 2022. 3. 3.
[프로그래머스] [kotlin] 위장 //fun main() { // println( // solution( // arrayOf( // arrayOf("yellowhat", "face"), // arrayOf("bluesunglasses", "face"), // arrayOf("green_turban", "face") // ) // ) // ) //} fun solution(clothes: Array): Int { var answer = 1 val mmap = mutableMapOf() clothes.forEach { mmap[it[1]] = mmap.getOrDefault(it[1], 0) + 1 } mmap.keys.forEach { answer *= (mmap[it]!! + 1) } return answer - 1 } fun solut.. 2022. 2. 24.
[프로그래머스] [kotlin] 괄호 회전하기 import java.util.* // //fun main() { // print(solution("([{)}]")) //} var deque: MutableList = mutableListOf() fun solution(s: String): Int { var answer: Int = 0 if (s.length == 1) return 0 for (i in s.indices) { deque.add(s[i]) } for (i in s.indices) { rotate() if (isRight()) answer++ } return answer } fun rotate() { deque.add(deque.first()) deque.removeAt(0) } fun isRight(): Boolean { val stac.. 2022. 2. 24.
[백준][kotlin] 11655번 ROT13 문제 ROT13은 카이사르 암호의 일종으로 영어 알파벳을 13글자씩 밀어서 만든다. 예를 들어, "Baekjoon Online Judge"를 ROT13으로 암호화하면 "Onrxwbba Bayvar Whqtr"가 된다. ROT13으로 암호화한 내용을 원래 내용으로 바꾸려면 암호화한 문자열을 다시 ROT13하면 된다. 앞에서 암호화한 문자열 "Onrxwbba Bayvar Whqtr"에 다시 ROT13을 적용하면 "Baekjoon Online Judge"가 된다. ROT13은 알파벳 대문자와 소문자에만 적용할 수 있다. 알파벳이 아닌 글자는 원래 글자 그대로 남아 있어야 한다. 예를 들어, "One is 1"을 ROT13으로 암호화하면 "Bar vf 1"이 된다. 문자열이 주어졌을 때, "ROT13"으로 암호.. 2022. 2. 21.
비동기 작업 관리 회고, Type 과 State https://velog.io/@nathankim0/%EB%B9%84%EB%8F%99%EA%B8%B0-%EC%9E%91%EC%97%85-%EA%B4%80%EB%A6%AC-%ED%9A%8C%EA%B3%A0-Type-%EA%B3%BC-State 2022. 2. 18.
[Android] How to dynamically change height of RecyclerView inside NestedScrollview when items are added or deleted NestedScrollview 안에 있는 RecyclerView의 높이를 아이템이 추가되거나 삭제될 때 동적으로 변경하는 방법 => item을 add 했을 때 size 변경이 안되는 모습 => item을 add 했을 때 size 변경이 잘 되는 모습. 어떻게? : size 변경할 시점에 view의 requestLayout() 을 호출한다. invlidate 는 size와 관련된 onMeasure을 호출하지 않기 때문에 높이가 변경되지 않는다. (onDraw 호출) requestLayout은 onMeasure 호출하기 때문에 size 변경 해줌. 아래 그림을 참고하자. 2022. 2. 16.
[백준][kotlin] 4949번 균형잡힌 세상 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 51598 17026 13477 32.471% 문제 세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다. 정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다. 문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다. 모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이뤄야 한다. 모든 왼쪽 대괄호("[")는 오른쪽 대괄호("]")와만 짝을 이뤄야 한다. 모든 오른쪽 괄호들은 자신과 짝을 이룰 수 있는 왼쪽 괄호가 존재한다. 모든 괄호들의 짝은 1:1 매칭만 .. 2022. 2. 15.
[백준][kotlin] 2775번 부녀회장이 될테야 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 55258 31041 26777 57.035% 문제 평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다. 이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다” 는 계약 조항을 꼭 지키고 들어와야 한다. 아파트에 비어있는 집은 없고 모든 거주민들이 이 계약 조건을 지키고 왔다고 가정했을 때, 주어지는 양의 정수 k와 n에 대해 k층에 n호에는 몇 명이 살고 있는지 출력하라. 단, 아파트에는 0층부터 있고 각층에는 1호부터 있으며, 0층의 i호에는 i명이 산.. 2022. 2. 15.
[백준] [kotlin] 10989번 수 정렬하기 3 5 초 (하단 참고) 8 MB (하단 참고) 147080 33532 24898 23.350% 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1 10 5 2 3 1 4 2 3 5 1 7 예제 출력 1 1 1 2 2 3 3 4 5 5 7 -- 1. bufferedReader, bufferedWriter 를 사용한다. 2. IntArray를 사용한다. (Array, List, ... => X) fun main().. 2022. 2. 14.