일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- tailwind
- Jest
- RTK Query
- useAppDispatch
- SSR
- ESlint
- app router
- map
- CI/CD
- Cypress
- recoil
- 반공변성
- 리터럴 타입
- 투포인터
- 호이스팅
- webpack
- async/await
- TS
- 이분 검색
- Promise
- 무한 스크롤
- CORS
- React
- dfs
- 타입 좁히기
- 태그된 유니온
- 결정 알고리즘
- 공변성
- 인터섹션
- autosize
Archives
- Today
- Total
짧은코딩
1049 기타줄 본문
반응형
https://www.acmicpc.net/problem/1049
내 풀이(맞음)
n, m = map(int, input().split())
p6 = []
p1 = []
for i in range(m):
a, b = map(int, input().split())
p6.append(a)
p1.append(b)
p6.sort()
p1.sort()
if(n>=6):
price1 = p6[0] * (n//6)
price2 = price1
price1 += p6[0]
price3 = p1[0] * n
n %= 6
if(n > 0):
price2 += p1[0] * n
print(min(price1, price2, price3))
else:
s1 = p1[0] * n
s6 = p6[0]
price = min(s1, s6)
print(price)
p6 리스트엔 6개 패키지 가격을 넣고 p1엔 낱개 가격을 넣은 다음 오름차순으로 정렬한다. 그리고 끊어진 줄의 개수인 n이 6보다 크면 price1, price2, price3을 만든다. price1에는 끊어진 줄의 개수 보다 많이 사더라도 6개 패키지 가격으로 산 가격을 넣는다. price2에는 6개 패키지와 낱개를 같이 산 가격을 넣는다. price3에는 낱개로만 산 가격을 넣는다. 그리고 min 함수를 통해 최소 값을 출력한다.
만약 끊어진 줄의 개수가 6개보다 작으면 s1에 낱개로 산 가격, s2에 패키지로 산 가격을 넣고 비교해서 최소값을 출력한다.
반응형
'코딩 테스트(Python) > 백준, 프로그래머스' 카테고리의 다른 글
1715 카드정렬하기(heap 활용) (0) | 2022.01.18 |
---|---|
2720 세탁소사장동혁 (0) | 2022.01.17 |
1543 문서검색 (0) | 2022.01.16 |
16953 A->B (0) | 2022.01.14 |
1439 뒤집기 (0) | 2022.01.13 |
Comments