[그리디] 백준 브론즈1 4796번: 캠핑(Swift)

2023. 5. 15. 17:03·코테

https://www.acmicpc.net/problem/4796

 

4796번: 캠핑

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다.

www.acmicpc.net

풀이과정

위 문제의 경우 강산이의 L일 휴가 동안 몇일 캠핑장을 이용할 수 있는지 계산하는 문제이다.

해당 캠핑장의 경우 연속된 P일 중 L일을 사용할 수 있다고 한다.

1번 케이스를 예로 들면, 강산의 휴가 기간은 20일이며, 캠핑장의 경우 연속된 8일 동안 5일을 사용할 수 있다.

강산이의 휴가를 8로 나눠보면, 몫이 2이고, 나머지가 4이다.

즉, 강산이의 휴가를 8일씩 나눠보면 8일이 두 번 나머지는 4일이다.

때문에 5일을 두 번 꽉 채워 캠핑장을 사용할 수 있고, 추가로 4일 사용할 수 있다.

정답은 [몫 * L + 나머지] 즉, 14이다.

이번엔 L = 5 / P = 8 / V = 22라고 했을 때,

강산이의 22일 휴가를 8로 나눠보면, 몫이 2 나머지가 6이다.

그럼 이 경우 위 케이스와 같이 [2 * 5 + 6 = 16]이냐?

그렇지 않다. 왜냐 나머지 6이 5보다 크기 때문에 6일 중 5일만 사용할 수 있기 때문이다.

때문에 정답은 [2 * 5 + 5 = 15] 이다.

이를 코드로 작성해 보면,

var `case` = 0

while true {
  let lpv = readLine()!.split(separator: " ").map { Int($0)! }
  
  if lpv == [0, 0, 0] { break }
  
  `case` += 1
  
  let l = lpv[0]
  let p = lpv[1]
  let v = lpv[2]
  
  let a = v / p * l
  let b = v % p > l ? l : v % p
  
  print("Case \(`case`): \(a + b)")
}

이다.

저작자표시 (새창열림)

'코테' 카테고리의 다른 글

[다이나믹 프로그래밍] 백준 실버3 1463번: 1로 만들기(Swift)  (0) 2023.05.16
[구현 + 재귀] 백준 실버5 17478번: 재귀함수가 뭔가요?(Swift)  (0) 2023.05.15
[이분 탐색] 백준 실버2 2805번: 나무 자르기(Swift)  (0) 2023.05.12
[완전 탐색] 백준 브론즈2 2231번: 분해합(Swift)  (0) 2023.05.12
[구현 + 시뮬레이션] 백준 2578번: 빙고  (0) 2023.05.08
'코테' 카테고리의 다른 글
  • [다이나믹 프로그래밍] 백준 실버3 1463번: 1로 만들기(Swift)
  • [구현 + 재귀] 백준 실버5 17478번: 재귀함수가 뭔가요?(Swift)
  • [이분 탐색] 백준 실버2 2805번: 나무 자르기(Swift)
  • [완전 탐색] 백준 브론즈2 2231번: 분해합(Swift)
Esiwon
Esiwon
iOS 개발 블로그
  • Esiwon
    시원한 코드 기록
    Esiwon
  • 전체
    오늘
    어제
    • 분류 전체보기 (70)
      • iOS&Swift (24)
      • git & github (1)
      • 코테 (41)
      • 네부캠 회고 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    BFS
    실버
    PhotoKit
    탐색
    회고
    재귀
    알고리즘
    구현
    완전탐색
    ios
    다이나믹 프로그래밍
    Swift
    챌린지
    코테
    노드
    이분탐색
    백준
    비동기
    브루트포스 알고리즘
    dfs
    그리디
    코딩테스트
    photoUI
    GCD
    Race Condition
    Property wrapper
    네부캠
    photos
    동시성
    Combine
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Esiwon
[그리디] 백준 브론즈1 4796번: 캠핑(Swift)
상단으로

티스토리툴바