-
[백준][Kotlin]1253번 좋다백준 2023. 2. 26. 00:47728x90
해당 문제는 투 포인터를 사용하여 주어진 자료의 양 끝에서부터 2개의 숫자를 비교하면서 좋은 수의 갯수를 찾는 문제였습니다. 작성하면서 주의 할 점으로는 좋은 수 인지 확인할 때 포인터의 위치는 좋은 수 인지 확인하는 자료의 인덱스가 겹치면 안된다는 점입니다.
그리고 개인적으로 프로그래머스도 매우 좋은 코테 연습사이트이지만 문제의 난이도 및 통과 기준은 백준이 좀 더 빡빡(?) 한 것 같다는 생각이 들었습니다.
하기는 작성한 코드와 제출 결과입니다.
import java.util.* fun main() { // val s = System.currentTimeMillis() var st = StringTokenizer(readln()) val N = st.nextToken().toInt() // 수의 개수 st = StringTokenizer(readln()) var arr = IntArray(N){0} repeat(N){ arr[it] = st.nextToken().toInt() } arr.sort() var count = 0 for(i in 0 until N){ var s = 0 var e = N-1 var check = arr[i] while(s < e){ if(arr[s] + arr[e] == check){ if(s != i && e != i){ count++ break } else if(s == i){ s++ } else if(e == i) { e-- } } else { if(arr[s] + arr[e] < check){ s++ } else { e-- } } } } // val e = System.currentTimeMillis() println(count) // println((e-s)/1000.0) }
'백준' 카테고리의 다른 글
[백준][Kotlin]2164번 카드2 (0) 2023.02.26 [백준][Kotlin] 2018번 수들의 합5 (0) 2023.02.26 [백준][Kotlin]1940번 주몽 (0) 2023.02.26 [백준][Kotlin]1874번 스택 수열 (0) 2023.02.26 [백준][Kotlin]1546번 평균 (0) 2023.02.26