-
[백준][Kotlin]1940번 주몽백준 2023. 2. 26. 01:09728x90
해당 문제는 정렬과 투 포인터를 사용하면 풀 수 있는 문제였습니다.
재료의 개수별로 정렬을 해놓은 후 맨앞과 맨 뒤에서부터 갑옷을 만드는데 필요한 수와 동일한지 확인 후
동일하다면 result 값을 증가시면 되는 문제 였습니다.
하기는 작성한 코드와 채점 결과 입니다.
import java.util.StringTokenizer fun main() { var st = StringTokenizer(readln()) val N = st.nextToken().toInt() // 재료의 개수 st = StringTokenizer(readln()) val M = st.nextToken().toInt() // 갑옷을 만드는데 필요한 수 var arr = IntArray(N + 1){0} st = StringTokenizer(readln()) for(i in 1 .. N){ arr[i] = st.nextToken().toInt() } arr.sort() var idx1 = 1 var idx2 = N var result = 0 while(idx1 < idx2){ if(arr[idx1] + arr[idx2] == M){ result++ idx1++ idx2-- } else if(arr[idx1] + arr[idx2] < M){ idx1++ } else { idx2-- } } println(result) }
'백준' 카테고리의 다른 글
[백준][Kotlin]2164번 카드2 (0) 2023.02.26 [백준][Kotlin] 2018번 수들의 합5 (0) 2023.02.26 [백준][Kotlin]1874번 스택 수열 (0) 2023.02.26 [백준][Kotlin]1546번 평균 (0) 2023.02.26 [백준][Kotlin]1253번 좋다 (0) 2023.02.26