-
[백준][Kotlin]1715번 카드 정렬하기백준 2023. 3. 21. 15:06728x90
해당 문제는 카드 묶음이 적은 것 부터 비교를 해야 비교 횟수가 적게 나옴을 알 수있습니다.
그렇기에 현재 입력받은 자료 중 가장 작은 카드의 개수를 가진 2개를 뽑아 합친 후 현재 입력받은 자료에서 넣은 후 다시 정렬하여 비교하여 합니다.
저의 경우 처음에 2개의 카드 뭉치를 합친 후 자료에 다시 넣을 때 정렬을 해야되는 사실을 잊고 넣었다가 실패를 몇번 반복했었습니다.
하기는 제가 작성한 코드와 제출 결과 입니다.
import java.io.BufferedReader import java.io.BufferedWriter import java.io.InputStreamReader import java.io.OutputStreamWriter import java.util.* fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) //var bw = BufferedWriter(OutputStreamWriter(System.out)) var st = StringTokenizer(br.readLine()) val N = st.nextToken().toInt() var pq = PriorityQueue<Int>() repeat(N){ pq.add(br.readLine().toInt()) } var sum = 0 while(pq.size != 1){ val temp1 = pq.poll() val temp2 = pq.poll() sum += temp1+temp2 pq.add(temp1+temp2) } println(sum) //bw.flush() //bw.close() }
'백준' 카테고리의 다른 글
[백준][Kotlin]1931번 회의실 배정 (0) 2023.03.21 [백준][Kotlin]1744번 수 묶기 (0) 2023.03.21 [백준][Kotlin]11047번 문제 동전 0 (0) 2023.03.20 [백준][Kotlin]1300번 K번째 수 (0) 2023.03.20 [백준][Kotlin]2343번 기타 레슨 (1) 2023.03.20