-
[백준][Kotlin]2164번 카드2백준 2023. 2. 26. 01:22728x90
해당 문제는 간단히 큐를 알고 있다면 간단히 풀 수 있는 문제였습니다.
문제 설명을 보면 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다. 라고 되어 있는데 해당 기능은 큐의
removeFirst() 와 pollFirst() 를 사용하여 간단히 구현이 가능합니다.
하기는 작성한 코드와 채점 결과 입니다.
import java.io.BufferedReader import java.io.BufferedWriter import java.io.InputStreamReader import java.io.OutputStreamWriter import java.util.* fun main() { // val s = System.currentTimeMillis() var br = BufferedReader(InputStreamReader(System.`in`)) var bw = BufferedWriter(OutputStreamWriter(System.out)) var st = StringTokenizer(br.readLine()) val N = st.nextToken().toInt() // 자료의 개수 //var sb = StringBuilder() var dq = ArrayDeque<Int>() repeat(N){ dq.addLast(it+1) } while(dq.size != 1){ dq.removeFirst() dq.addLast(dq.pollFirst()) } bw.append("${dq.peekFirst()}") bw.flush() bw.close() // val e = System.currentTimeMillis() // println((e-s)/1000.0) }
'백준' 카테고리의 다른 글
[백준][Kotlin]10989번 수 정렬하기3 (0) 2023.02.27 [백준][Kotlin]1377번 버블 소트 (0) 2023.02.27 [백준][Kotlin] 2018번 수들의 합5 (0) 2023.02.26 [백준][Kotlin]1940번 주몽 (0) 2023.02.26 [백준][Kotlin]1874번 스택 수열 (0) 2023.02.26