나는 인디
Life Debugging
나는 인디
전체 방문자
오늘
어제
  • 분류 전체보기 (15)
    • Log.life (2)
      • Occasional (2)
    • Learn (8)
      • SC (0)
      • BOJ (5)
      • 프로그래머스 (3)
    • Java (1)
    • HTML (2)
    • Python (0)
    • Tips (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • vscode
  • 분해합
  • 캠핑
  • 로또
  • 1436
  • 부트캠프
  • 클래스 반복
  • 국비지원
  • 구구단
  • 자바
  • 위장
  • 풀스택
  • BOJ
  • 달력
  • 프로그래머스
  • 4796
  • 완주하지 못한 선수
  • 주민번호
  • 2231
  • python
  • 백준
  • 클론코딩
  • 영화감독 숌
  • html
  • vscode 화면분할
  • 인프런강의
  • css
  • 전화번호 목록
  • 파이썬

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
나는 인디

Life Debugging

(백준/파이썬) 4796번 캠핑
Learn/BOJ

(백준/파이썬) 4796번 캠핑

2022. 6. 13. 22:10

문제 링크

 

4796번: 캠핑

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

www.acmicpc.net

성능 요약

메모리: 32952 KB, 시간: 128 ms

분류

그리디 알고리즘(greedy), 수학(math)

문제 설명

등산가 김강산은 가족들과 함께 캠핑을 떠났다. 하지만, 캠핑장에는 다음과 같은 경고문이 쓰여 있었다.

캠핑장은 연속하는 20일 중 10일동안만 사용할 수 있습니다.

강산이는 이제 막 28일 휴가를 시작했다. 이번 휴가 기간 동안 강산이는 캠핑장을 며칠동안 사용할 수 있을까?

강산이는 조금 더 일반화해서 문제를 풀려고 한다.

캠핑장을 연속하는 P일 중, L일동안만 사용할 수 있다. 강산이는 이제 막 V일짜리 휴가를 시작했다. 강산이가 캠핑장을 최대 며칠동안 사용할 수 있을까? (1 < L < P < V)

입력

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

출력

각 테스트 케이스에 대해서, 강산이가 캠핑장을 최대 며칠동안 사용할 수 있는지 예제 출력처럼 출력한다.

 

나의 풀이

첫 접근은 V/P의 몫에 L을 곱한 후 V%P를 더하는 것이었으나, 예외의 경우를 생각하지 못했다.

그래서 L과 V%P 중 낮은값을 출력할 수 있도록 수정했다.

 

Code

참고로 당시에는 '//'를 이용하여 나눈 후 몫을 반환하는 방법이 떠오르지 않아

math 모듈을 import하여 V/P의 결과를 내림하는 방법을 써버렸다..

 

 

 

다른 풀이

  • 입력이 여러 개의 테스트 케이스로 이루어져 있기 때문에 while문으로 반복해서 l,p,v를 입력받는다.
  • 만약 l,p,v가 모두 0인경우 break로 while문을 빠져나온다.
  • 휴가의 v일중 (v//p)만큼 l일을 온전히 캠핑장을 이용할 수 있다.
  • 휴가의 v일중 (v%p)와 l중 작은 일수 만큼 캠핑장을 이용할 수 있다.

위의 조건에 맞춰 깔끔하게 작성한 코드

 

Code

 

저작자표시 비영리 변경금지 (새창열림)

'Learn > BOJ' 카테고리의 다른 글

백준/JAVA) 1269 대칭 차집합  (0) 2022.07.16
(백준/파이썬) 9012번 괄호  (0) 2022.06.16
(백준/파이썬) 2231번 분해합  (0) 2022.06.15
(백준/파이썬) 1436번 영화감독 숌  (0) 2022.06.12
    'Learn/BOJ' 카테고리의 다른 글
    • 백준/JAVA) 1269 대칭 차집합
    • (백준/파이썬) 9012번 괄호
    • (백준/파이썬) 2231번 분해합
    • (백준/파이썬) 1436번 영화감독 숌
    나는 인디
    나는 인디

    티스토리툴바