[프로그래머스] 2024 KAKAO WINTER INTERNSHIP 주사위 고르기 with Kotlin
문제n개의 주사위가 있다.이 주사위는 6면으로 되어있고, 각 주사위의 번호는 1~n의 번호를 갖고 있다. (1번 주사위부터 n번 주사위) A가 n/2개의 주사위를 가져가고 B가 나머지 주사위를 가져간다.각각 가져간 주사위들을 던져 나온 숫자의 합을 비교해 합이 더 큰 사람이 이기는 게임이다.이때, A가 승리할 확률이 가장 높은 주사위의 조합을 반환하는 문제이다. 예시 ( n = 4 )주사위구성#1[1, 2, 3, 4, 5, 6]#2[3, 3, 3, 3, 4, 4]#3[1, 3, 3, 4, 4, 4]#4[1, 1, 4, 4, 5, 5] 조합에 따른 결과A의 주사위승무패#1, #2596196504#1, #3560176560#1, #4616184496#2, #3496184616#2, #4560176560#3,..
[Kotlin] 정렬
1. sort() 와 sorted()sort() 는 Mutable 상태에 사용하는 메서드이다.sorted()는 Immutable 상태에 사용한다.List는 Immutable 상태이므로 List에 sort()를 사용하면 오류가 발생한다.반대로 Mutable한 Array에 sorted를 사용하면 문제 없이 정렬이 수행된다. 다만, sort()는 기존에 있던 배열 또는 ArrayList에 정렬을 수행시켜주지만sorted()는 정렬된 배열 또는 리스트를 반환한다.val array = arrayOf(4, 3, 2, 1)array.sort()// array : [1, 2, 3, 4]val array2 = arrayOf(4, 3, 2, 1)val newArray2 = array2.sorted()// array2 : ..
[프로그래머스] 단어 변환 with Kotlin
문제 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","dog","lot","log","cog"]라면 "hit" -> "hot" -> "dot" -> "dog" -> "cog"와 같이 4단계를 거쳐 변환할 수 있습니다.두 개의 단어 begin, target과 단어의 집합 words가 매개변수로 주어질 때, 최소 몇 단계의 과정을 거쳐 begin을 target으로 변환할 수 있는지..