준석이는 태어난김에 세계 일주를 꿈꾸며 가능한 한 많은 나라를 방문하려 합니다. 하지만 각 나라에는 입국 규정이 있어, 입국하기 위해서는 일정 금액 이상의 잔고가 필요하며, 여행을 마칠 때마다 일정 금액의 경비가 소모됩니다.
여행자의 현재 통장 잔고 balance
와, 각 나라별 "입국 필요 잔고" 및 "여행 경비"가 담긴 2차원 배열 countries
가 주어질 때, 여행자가 방문할 수 있는 최대 국가 수를 반환하는 solution
함수를 작성하세요.
예시 1:
입력: balance = 600, countries = [[70, 350], [100, 550], [350, 400]]
출력: 3
설명: 1 → 0 → 2 방문
countries[1]
(최소 550 필요, 100 사용) → 남은잔고: 500
countries[0]
(최소 350 필요, 70 사용) → 남은잔고: 430
countries[2]
(최소 400 필요, 350 사용) → 남은잔고: 80
예시 2:
입력: balance = 500, countries = [[250, 250], [300, 400], [120, 450], [70, 150]]
출력: 3
설명: 2 → 3 → 0
countries[2]
(최소 450 필요, 120 사용) → 남은잔고: 380
countries[3]
(최소 150 필요, 70 사용) → 남은잔고: 310
countries[0]
(최소 250 필요, 250 사용) → 남은잔고: 60
balance
는 1 이상 3,000 이하의 자연수입니다.
countries
의 길이(즉, 여행 가능한 나라의 개수)는 1 이상 7 이하입니다.
country[i] = [Ai, Bi]
Ai: 그 나라를 방문할 때 소모되는 금액 (1 ≤ Bi ≤ 500)
Bi: 입국을 위해 필요한 최소 잔고 (1 ≤ Ai ≤ 500)
항상 Bi ≥ Ai (즉, 여행 비용은 입국 필요 잔고보다 클 수 없음)
600
[[70,350],[100,550],[350,400]]