본문 바로가기
알고리즘

[문제] 그리디 알고리즘 (캠핑) - 20210529

by grep.jj 2021. 5. 29.
  • 시작시간 : 22시 31분
  • 종료시간 : 23시 49분
  • 문제 : 
    등산가 김강산은 가족들과 함께 캠핑을 떠났다. 하지만, 캠핑장에는 다음과 같은 경고문이 쓰여 있었다.
    캠핑장은 연속하는 20일 중 10일동안만 사용할 수 있습니다.
    강산이는 이제 막 28일 휴가를 시작했다. 이번 휴가 기간 동안 강산이는 캠핑장을 며칠동안 사용할 수 있을까?
    강산이는 조금 더 일반화해서 문제를 풀려고 한다. 
    캠핑장을 연속하는 P일 중, L일동안만 사용할 수 있다. 강산이는 이제 막 V일짜리 휴가를 시작했다. 강산이가 캠핑장을 최대 며칠동안 사용할 수 있을까? (1 < L < P < V
    참고자료 : 백준저지 https://www.acmicpc.net/problem/4796
  • 풀이 :
    자바
    결과
  • 회고 : 

계산 자체는 쉬웠는데 입력 받는 부분에서 고민을 많이 했다.

이전 문제와는 달리 입력받는 횟수가 딱 정해진게 아니라서

"0 0 0"을 입력받았을 때 멈추기 위해 int가 아닌 String으로 입력 받았다. (문자열 비교 이용)

계산을 위해서는 입력받은 String을 int[]에 넣어야 했는데... <- 이 부분이 비효율적으로 느껴졌다.

공부를 더 하다가 깨달음을 얻게 되면 불필요하게 느껴지는 부분은 수정해봐야겠다. 


"0 0 0"이 오기 전에 테스트케이스에서 2 7 0 이런 예제가 올 수도 있다고 생각했는데...

그냥 0이 왔을 때 break를 걸어 두었다!