1. Home
  2. 코딩테스트
  3. 태어난김에 세계일주 1
문제 설명

태어난김에 세계일주 1

준석이는 태어난김에 세계 일주를 꿈꾸며 가능한 한 많은 나라를 방문하려 합니다. 하지만 각 나라에는 입국 규정이 있어, 입국하기 위해서는 일정 금액 이상의 잔고가 필요하며, 여행을 마칠 때마다 일정 금액의 경비가 소모됩니다.

여행자의 현재 통장 잔고 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 (즉, 여행 비용은 입국 필요 잔고보다 클 수 없음)

balance

600

countries

[[70,350],[100,550],[350,400]]

문제 설명

태어난김에 세계일주 1

준석이는 태어난김에 세계 일주를 꿈꾸며 가능한 한 많은 나라를 방문하려 합니다. 하지만 각 나라에는 입국 규정이 있어, 입국하기 위해서는 일정 금액 이상의 잔고가 필요하며, 여행을 마칠 때마다 일정 금액의 경비가 소모됩니다.

여행자의 현재 통장 잔고 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 (즉, 여행 비용은 입국 필요 잔고보다 클 수 없음)

balance

600

countries

[[70,350],[100,550],[350,400]]