식료품 가게
풀이
할인 가격과 할인 전 가격이 같이 있는 리스트에서 할인 가격만을 추출해 내야 하는 문제이다.
오름차순으로 정렬해서 제공해주지만, 내가 풀이하는 방식으로는 내림차순으로 정렬해서 풀어야 문제가 풀리기에 재정렬을 해주었다.
풀이 계획은 아래와 같다.
- 내림차순으로 재정렬
- while문을 시행. 할인 가격 즉, 0.75를 곱한 가격이 리스트에 있으면, 해당 인덱스를 찾아내서 pop()을 시행 후 answer 리스트에 입력
- 0.75를 곱한 가격이 리스트에 없으면 그것이 할인 가격이므로 해당 인덱스를 pop(), answer 리스트에 입력.
- 2와 3의 과정이 모두 끝난 후 answer는 내림차순으로 정렬되어 있는 리스트이므로, 이를 오름차순으로 형식에 맞게 출력하기 위해 for문 및 print(end=' ')를 이용.
T = int(input())
for testcase in range(1, T+1):
N = int(input())
a_list = sorted(list(map(int,input().split())), reverse=True)
i = 0
answer = []
while N < len(a_list):
if a_list[i] * 0.75 in a_list:
tmp_i = a_list.index(a_list[i] * 0.75)
tmp = a_list.pop(tmp_i)
answer.append(tmp)
i += 1
else:
answer.append(a_list[i])
a_list.pop(i)
print(f'#{testcase}', end=' ')
for i in range(len(answer)-1, -1, -1):
print(f'{answer[i]}', end=' ')
print()
'알고리즘 > SWEA' 카테고리의 다른 글
SWEA D3 16800. 구구단 걷기 (python) (1) | 2024.02.24 |
---|---|
SWEA D3 7584. 자가 복제 문자열 (python) (0) | 2024.02.21 |
SWEA D3 19185. 육십갑자 (python) (0) | 2024.01.30 |
SWEA D2 1859. 백만 장자 프로젝트 (python) (1) | 2024.01.29 |
SWEA D2 1284. 수도 요금 경쟁 (python) (1) | 2024.01.29 |