• 목록 (128)
    • Android (62)
    • Back-End (2)
    • Java (3)
    • Kotlin (16)
    • CS (7)
    • 개발 서적 (12)
    • 문제 풀이 (26)

최근 글

티스토리

전체 방문자
오늘
어제
hELLO · Designed By 정상우.
MJ_94
문제 풀이

[백준/Kotlin/10815] 숫자 카드

[백준/Kotlin/10815] 숫자 카드
문제 풀이

[백준/Kotlin/10815] 숫자 카드

2022. 5. 30. 13:36

문제

 

10815번: 숫자 카드

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,

www.acmicpc.net

숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 두 숫자 카드에 같은 수가 적혀있는 경우는 없다.

셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 가지고 있는 숫자 카드인지 아닌지를 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이 수도 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다

출력

첫째 줄에 입력으로 주어진 M개의 수에 대해서, 각 수가 적힌 숫자 카드를 상근이가 가지고 있으면 1을, 아니면 0을 공백으로 구분해 출력한다.

예제 입력

5
6 3 2 10 -10
8
10 9 -5 2 3 4 5 -10

 

예제 출력

1 0 0 1 1 0 0 1

 


문제 풀이

fun main() = with(Scanner(System.`in`)) {

    val buffer = StringBuilder()
    val N = nextInt()
    val array = IntArray(N)

    for (i in 0 until N){
        array[i] = nextInt()
    }

    Arrays.sort(array)

    val M = nextInt()

    for ( i in 0 until M){
       val checkTargetNumber = nextInt()
       var left = 0
       var right = N - 1

        while (left <= right){
            val index = (left + right) / 2
            val cardNumber = array[index]

            if (cardNumber == checkTargetNumber){
                buffer.append(1).append(" ")
                break
            }

            if (cardNumber > checkTargetNumber){
                right = index - 1
            } else{
                left = index + 1
            }

            if (left > right){
                buffer.append(0).append(" ")
                break
            }
        }
    }

    println(buffer)
}

가지고 있는 숫자 카드 배열 중 가운데 숫자부터 확인해야할 카드 숫자보다 클경우와 작을 경우를 나누어 이분 탐색을 하였다.

저작자표시 비영리 변경금지 (새창열림)

'문제 풀이' 카테고리의 다른 글

[백준/Kotlin/1620] 나는야 포켓몬 마스터 이다솜  (0) 2022.05.31
[백준/Kotlin/14425] 문자열 집합  (0) 2022.05.30
[프로그래머스/Kotlin] 멀쩡한 사각형  (0) 2022.01.26
유클리드 호제법  (0) 2022.01.25
[프로그래머스/Kotlin] 2016년  (0) 2022.01.21
  • 예제 출력
  • 문제 풀이
'문제 풀이' 카테고리의 다른 글
  • [백준/Kotlin/1620] 나는야 포켓몬 마스터 이다솜
  • [백준/Kotlin/14425] 문자열 집합
  • [프로그래머스/Kotlin] 멀쩡한 사각형
  • 유클리드 호제법
MJ_94
MJ_94
안드로이드, 개발 관련 기술 블로그

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.