https://www.acmicpc.net/problem/3052
3052번: 나머지
각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.
www.acmicpc.net
풀이
더보기

원래 의도한 건 list를 10개 만들어서 나머지를 넣은 후 중복되는 값을 필터링 하고, 남은 값의 갯수를 구하는거겠지만.. 사실 hashSet을 이용하면 간단하게 해결되는 문제다. hashset은 중복되는 값을 add해도 값이 중복되어 들어가지 않는다.
끝나고 해시 셋 크기만 추출하면 해당 문제는 완료된다.
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main(args: Array<String>) {
question3052()
}
fun question3052() {
var reader = BufferedReader(InputStreamReader(System.`in`))
var writer = BufferedWriter(OutputStreamWriter(System.out))
var hashSet = HashSet<Int>()
for(i in 1 .. 10) {
var number = reader.readLine().toInt()
hashSet.add(number % 42)
}
writer.write("${hashSet.size}")
writer.flush()
}

반응형
'스터디(beakjoon)' 카테고리의 다른 글
| Kotlin] 백준 1546번 문제 풀이 (0) | 2023.04.27 |
|---|---|
| Kotlin] 백준 10811번 문제 풀이 (0) | 2023.04.26 |
| Kotlin] 백준 5597번 문제 풀이 (0) | 2023.04.25 |
| Kotlin] 백준 10813번 문제 풀이 (0) | 2023.04.24 |
| Kotlin] 백준 2562번 문제 풀이 (0) | 2023.04.21 |