240314-TIL

2024. 3. 14. 20:52내일배움캠프

3월 14일 

 

오늘도 재밌는 알고리즘 문제를 정리해봐야겠다.

 

오늘의 문제는 바로

 

콜라문제

더보기

문제를 한번 보자

 

라고 한다 내용은 길지만 뭔가 오늘은 귀에 팍팍 꽂히는게 금방 풀거같다.

 

 

솔루션의 초기 상태 a는 가져가야할 병의 양 b는 a를 줬을때 받는 양 n은 내가 가지고있는 빈 병의 개수

 

for문을 돌려야 하나 생각하다

 

이 문제는 while문으로 돌리는게 좋겠다 라는 느낌이 왔다

 

while문의 조건이다 가져다 줘야할 병보다 내가 가지고 있는 병이 많다면 계속 반복문을 돌려 콜라를 받아주면 된다

 

 

answer은 return해 줘야할 값 즉 내가 콜라를 교환한 횟수이다.

 

answer에 내가 가지고 있는 병 / 가져가야할 병 을 해준다음 교환받은 콜라의 병을 곱해주어 더해주면

 

반복문이 끝났을때 내가 콜라를 몇번 바꿔먹었는지 알 수 있다.

 

그에 맞춰서 내가 가지고 있는 병의 수도 같이 조정해줘야 한다

 

n / a * b를 통해 교환받은 콜라 +   n % a로 개수가 부족해 교환받지 못한 콜라를 더해준다

 

이러면 반복문을 한번 돌때마다 n에는 내가 교환 한번 갔다와서 내 수중에 남은 콜라가 들어가게된다

 

상빈이는 마치 걸신이라도 들린듯이 그자리에서 또 n개의 콜라를 전부 마셔 빈병으로 만들어버리고

 

다시 교환받으러 가겠지...?

 

간단한 문제다

 

그러면 결과를 보자

 

무난하게 통과!

오늘은 재밌는 알고리즘 문제를 풀어보았다.

 

지난번에 풀었던 문제와 비슷한 느낌으로 지문이 길었는데

 

이번에는 집중이 잘되서 그런가 문제가 한눈에 들어왔고 그 덕분에 빠르게 문제를 해결할 수 있었다.

 

쉬운 문제라서 그렇겠지?

 

3월 14일 TIL은 여기서 마치도록 하겠다

'내일배움캠프' 카테고리의 다른 글

240318-TIL  (0) 2024.03.18
240315-TIL  (0) 2024.03.15
240313-TIL  (0) 2024.03.13
240312-TIL  (0) 2024.03.12
240311-TIL  (0) 2024.03.11