Algorithm/백준

[백준 알고리즘] 1049번: 기타줄 (Python)

에릭 Kim 2023. 6. 7. 14:39
반응형

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

 

1049번: 기타줄

첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주

www.acmicpc.net

 

소스코드

 

 

풀이

★ 문제를 해결하는 과정에서 몇가지 경우를 생각해줘야 합니다. 먼저 입력받은 세트와 낱개의 가격을 각각 리스트에 추가하고 해당 리스트의 최솟값을 변수로 설정해줍니다. 

 

1. 세트의 가격이 낱개 가격으로 6개 사는 것보다 비싼 경우. 

이 경우일 떈 끊어진 줄 수가 몇개인지에 상관없이 무조건 낱개로 사는 게 싸기 때문에 결과값에다 n*낱개 가격을 해줍니다.

 

2. 위의 경우가 아니면서 n을 6으로 나누고 남은 나머지 * 낱개 가격이 세트 가격보다 싼 경우.

이 경우는 세트 가격이 낱개 6개의 가격보다 저렴하다는 것을 전제합니다. 만약 남은 줄 수가 6개 미만일 때 남은 줄을 낱개로 사는 것보다 세트로 사는 게 더 싼 경우 결과값에 세트 가격을 더해주고, 아닌 경우 남은 줄수 * 낱개 가격을 더해줍니다 !  

반응형