[백준] 5052번: 전화번호 목록 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 5052번: 전화번호 목록 첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가 www.acmicpc.net 풀이 전화번호를 문자열로 입력받고 이를 정렬하여 번호를 비교하는 방식으로 해결할 수 있다. 예를 들어, 예제 입력1의 테스트 케이스인 911, 97625999, 91125426을 입력받은 경우, 이를 오름차순으로 정렬하면 911, 91125426, 97625999 가 된다. 여기서 startsWith() 함수를 사용하여 이전의 번호가 다음 번호에 포함되는지 여부를 확인할 수 있다. 이를 통해 전화번호 목록이 일관성 있는 목록인지 판단..
[백준] 1181번: 단어 정렬 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 풀이 먼저 코틀린의 HashSet을 이용하여 중복된 단어의 입력을 방지한다. 이 set을 정렬하기 위해 MutableList로 형변환 시켜준다. 이 리스트를 Comparator를 이용하여 정렬시켜주기 위해 sortWith() 함수를 사용한다. 두 단어의 길이가 같은 경우에는 알파벳 순서에 따라 정렬하고, 아닌 경우에는 길이에 따라 정렬해준다. 이 후, 정렬된 리스트를 출력하면 된다. 코드 fun main() { val br = System.`in..