https://www.acmicpc.net/problem/7785
난이도 : 실버5
태그 : 자료구조, 해시를 통한 집합과 맵
설명
해시맵을 사용해 풀이할 수 있습니다.
맵이란, (키, 쌍)으로 된 자료구조로써, 파이썬의 경우 딕셔너리가 여기에 해당합니다.
{이름 : true/false} 의 쌍을 갖고, 출입기록이 있으면 true, 퇴근기록이 있으면 false.
이후 맵의 키를 모아 내림차순 정렬을 한 후, 값이 true인 경우만 출력하면 됩니다.
소스코드
import java.io.BufferedReader
import java.io.InputStreamReader
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
val n = br.readLine().toInt()
val map = HashMap<String, Boolean>()
repeat(n) {
val line = br.readLine().split(" ")
map[line[0]] = line[1] == "enter"
}
map.keys.sortedDescending().forEach {
if (map[it]!!) {
println(it)
}
}
}
'코딩테스트 > Kotlin' 카테고리의 다른 글
[백준 1343번] [Kotlin] 폴리오미노 (0) | 2023.01.17 |
---|---|
[백준 26736번] [Kotlin] Wynik meczu (0) | 2023.01.17 |
[백준 6996번] [Kotlin] 애너그램 (0) | 2023.01.16 |
[백준 10699번] [Kotlin] 오늘 날짜 (0) | 2023.01.16 |
[백준 10867번] [Kotlin] 중복 빼고 정렬하기 (0) | 2023.01.15 |