```
백준 10815번 숫자 카드 Kotlin 구현해보기
```

이번 글을 통해 배워갈 내용
- 백준 10815번 풀이
https://www.acmicpc.net/problem/10815
10815번: 숫자 카드
첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,
www.acmicpc.net
백준 10815번 숫자카드는
난이도 실버 등급의 문제로서
500, 000 개 이하의 보유한 숫자 카드들이 주어지고
동일하거나 적은 수의 찾는 숫자 카드들이 주어질 때
입력된 찾는 숫자카드 순서대로
보유한 카드에 있으면 1, 없으면 0을 출력해주면 되는 문제입니다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
입력을 받고
리스트에 저장하였습니다
보유한 카드는 오름차순으로 정렬하였고
찾는 카드를 순회하면서 시간복잡도를 줄이기 위해서 보유 카드에 이분 탐색을 하였습니다.
그리고 결과를 문자열로 더해주고 한 번에 출력하였습니다.
fun main(args: Array<String>) {
// 입력
readln()
val givenCards = readln().split(" ").map { it.toInt() }.sorted()
readln()
val findCards = readln().split(" ").map { it.toInt() }
// 출력
print(findCards.map { n-> if(givenCards.binarySearch(n) < 0) 0 else 1 }.joinToString(" "))
}
// https://codemasterkimc.tistory.com/
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩 하시길 바랍니다 ~ :)
참조
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/binary-search.html
binarySearch - Kotlin Programming Language
kotlinlang.org
'Kotlin > Kotlin 알고리즘' 카테고리의 다른 글
| 백준 13706번 제곱근 Kotlin 구현해보기 (0) | 2022.09.18 |
|---|---|
| 백준 14910번 오르막 Kotlin 구현해보기 (0) | 2022.09.17 |
| 백준 24751번 Betting Kotlin 구현해보기 (0) | 2022.09.15 |
| 백준 2295번 세 수의 합 Kotlin 구현해보기 (0) | 2022.09.09 |
| 백준 16199번 나이 계산하기 Kotlin 구현해보기 (2) | 2022.09.06 |