728x90
https://www.acmicpc.net/problem/2246
문제 접근
입력값을 모두 비교해야되기때문에 배열로 저장
후보군이 될 수 없는 경우는 건너뛰어가며 가능한 경우의 수를 셈
정답 코드
import java.util.*
fun main(args: Array<String>): Unit = with(Scanner(System.`in`)) {
val n = nextInt()
//1. 더 가까운데 숙박비가 더 싼 경우
//2. 더 먼데 숙박비가 더 비싼 경우
val arr = Array(n){IntArray(2)} // 입력받은 모든 경우를 비교해야하므로 배열로 비교
var ans = 0
for(i in 0 until n){
arr[i][0] = nextInt() // 거리
arr[i][1] = nextInt() // 비용
}
for (i in 0 until n){
var can = true //후보군인지 확인
for (j in 0 until n){
if (i == j) continue
if(arr[i][0] >= arr[j][0]){
if (arr[i][1] >= arr[j][1]){
can = false
continue
}
}
if (arr[i][1] >= arr[j][1]){
if (arr[i][0]>= arr[j][0]){
can = false
continue
}
}
}
if (can)ans++
}
print(ans)
}
'알고리즘 > 백준 문제풀이' 카테고리의 다른 글
백준 1260-DFS와 BFS(Kotlin) (0) | 2023.02.05 |
---|---|
백준 2576 색종이-2(Kotlin) (0) | 2023.02.02 |
백준 1051-숫자 정사각형(Kotlin) (0) | 2023.01.31 |
백준 2628 - 종이 자르기(Kotlin) (0) | 2023.01.31 |
백준 2563 - 색종이(Kotlin) (0) | 2023.01.30 |