Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- 3d editing
- ddim inversion
- 논문리뷰
- ddpm inversion
- diffusion
- 코딩테스트
- diffusion models
- Python
- VirtualTryON
- plug-and-play
- Programmers
- research intern
- prompt2prompt
- Vit
- ami lab
- BOJ
- 네이버 부스트캠프 ai tech 6기
- transformer
- video editing
- video generation
- image generation
- style align
- visiontransformer
- 코테
- image editing
- magdiff
- 프로그래머스
- DP
- image2image translation
- 3d generation
Archives
- Today
- Total
평범한 필기장
[BOJ_Python] 11508_2+1 세일 본문
https://www.acmicpc.net/problem/11508
내가 생각한 풀이 방식
- 일단 최소 비용을 구하기 위해선 2+1에서 무료가 되는 물품의 비용이 최대가 되어야한다.
- 그래서 가격 리스트를 내림차순으로 하고 앞에서 3개씩 한 묶음으로하면 무료가 되는 물품들의 가격이 최대가 된다고 생각했다.
- 그래서 2번째, 5번째 ~ 순의 인덱스에 잇는 물품들의 가격을 제외하고 모든 가격들을 합하는 방식으로 구했다.
내 오답 코드
n = int(input())
lst = []
for _ in range(n):
lst.append(int(input()))
lst.sort(reverse = True)
ind_lst = []
k = 2
while k < n:
ind_lst.append(k)
k += 3
cnt = 0
for i in range(len(lst)):
if i not in ind_lst:
cnt += lst[i]
print(cnt)
이 오답코드에서는 for문 한번만 돌려서 풀 수 있는 것을 너무 복잡하게 생각해서 시간초과가 났다. 뺄 인덱스인 2,5,8, ...를 ind_lst란 리스트에 따로 저장해서 가격 리스트인 lst에서 ind_lst에 있는 인덱스에 있는 인덱스에 해당하는 값은 안더하는 식의 번거로운 방식을 택했었다. (너무 복잡하게 돌아가는 생각을 해버렸다 ㅎㅎ;;)
내 정답 코드
n = int(input())
lst = []
for _ in range(n):
lst.append(int(input()))
lst.sort(reverse = True)
cnt = 0
for i in range(n):
if i % 3 != 2:
cnt += lst[i]
print(cnt)
도움이 되셨으면 좋겠습니다!! 아직 코딩 실력이 많이 부족해서 복잡하게 생각하는 경향이 많이 있는듯 하네요. 귀엽게 봐주시면 감사하겠습니당 ㅎㅎ
'코딩 테스트 준비 > BOJ' 카테고리의 다른 글
[BOJ_Python] 21314_민겸 수 (0) | 2023.03.22 |
---|---|
[BOJ_Python] 20300_서강근육맨 (0) | 2023.03.21 |
[BOJ_Python] 14916_거스름돈 (0) | 2023.03.18 |
[BOJ_Python] 21919_소수 최소 공배수 (0) | 2023.03.16 |
[BOJ_Python] 2960_에라토스테네스의 체 (0) | 2023.03.15 |