전설적인 인천 식료품가게의 주인인 김인천 씨는 대대적인 할인행사를 계획하고 있습니다. 계산을 단순하게하기 위해 그는 25% 할인된 가격으로 상점의 모든 품목을 판매하기로 결정했습니다. 즉, 각 품목의 판매 가격은 정상 가격의 정확히 75 %입니다. 우연하게도 인천 식료품가게에서 판매하는 모든 물건의 정상가는 4의 배수인 정수이고, 할인된 가격 역시 편리하게도 모두 정수입니다.
김인천씨는 이 할인행사를 준비하기위해서 먼저 모든 판매물품의 할인된 판매가격을 프린터로 출력을 실행했고, 또한 할인행사 종료후 다시 쓸 모든 품목에 정상가격표 역시 출력을 실행하였습니다.
손님이 찾아와 잠깐 자리를 비웠던 김인천씨가 다시 가격표의 출력을 확인하기 위해서 프린터로 돌아와보니, 공교롭게 프린터는 모든 물품의 할인가격과 정상가격을 따로 구분하지 않고 오름차순으로 정렬한 뒤 순서대로 출력하여 하나의 출력물 더미를 만들었습니다. 각 품목의 할인가격표와 정상가격표 모두가 출력물 더미의 어딘가에 있습니다. 그러나 두 유형(할인가격, 정상가격)의 가격표는 비슷하게 보이고, 모든 품목의 가격을 기억하지 못하기 때문에 김인천씨는 어느 가격표가 할인가격표인지 확신할 수 없습니다. 이 상황에서 김인천씨는 무엇이 할인가격표인지 구분해낼 수 있을까요?
예를 들어, 정상가격이 20, 80, 100 인 경우 할인가격은 15, 60, 75이며 프린터의 인쇄출력더미는 오름차순으로 정렬된 15, 20, 60, 75, 80, 100 가격표들로 구성됩니다.
입력
입력의 첫 번째 라인(줄)은 테스트 사례의 케이스의 수 T를 나타냅니다. 이후의 라인은 T개의 테스트 케이스가 이어집니다. 각 테스트 케이스는 두 줄로 구성됩니다. 첫 번째 줄에는 INU 식료품가게에 존재하는 상품수인 단일 정수 N이 포함됩니다. 두 번째 줄에는 프린터에서 가격의 오름차순으로 인쇄한 2N개의 정수 P1, P2, ..., P2N이 주어집니다.
입력값의 제한은 아래와 같습니다
- 1 ≤ T ≤ 100.
- 모든 i에 대해서 1 ≤ Pi ≤ 109.
- 모든 i에 대해서 Pi ≤ Pi+1. (가격은 오름차순으로 존재)
- 정답은 단 하나만 존재하는것이 보장되어 있음.
- 1 ≤ N ≤ 4.
출력
개별 테스트 케이스에 대해서 출력라인은 “Case #x: y” 형식(큰 따옴표는 제외)으로 출력하며, x는 1부터 시작하는 테스트 케이스의 번호 (인덱스)이며, y는 할인가격에 해당하는 오름차순으로 정렬된 N개의 정수들이다.
예제 입력 1 복사
2
3
15 20 60 75 80 100
4
9 9 12 12 12 15 16 20
예제 출력 1 복사
Case #1: 15 60 75
Case #2: 9 9 12 15
문제풀이
25% 할인된 가격으로 상점의 모든 품목을 판매
모든 물건의 정상가는 4의 배수인 정수
할인된 가격 역시 편리하게도 모두 정수
모든 물품의 할인가격과 정상가격을 따로 구분하지 않고 오름차순으로 정렬
정상가격 : 20, 80, 100
할인가격 : 15, 60, 75
입력(정상가격, 할인가격, 오름차순 정렬) : 15, 20, 60, 75, 80, 100
할인된 가격을 출력해라
2 <-- 테스트 테이스 개수
3 <-- 상품수
15 20 60 75 80 100 <--- 오름차순 정렬된 할인+정상 가격
4
9 9 12 12 12 15 16 20
문제해결
할인율(퍼센트) : 구하는 방법 가격 * 100 // 할인 퍼센트
if in을 이용해서 할인율이 리스트에 있는지 확인한다.
test_case = int(input())
for case in range(test_case) :
price_n = int(input())
num_list = list(map(int, input().split()))
result = []
while num_list :
now_value = num_list.pop(0)
if (now_value * 100 // 75) in num_list :
result.append(now_value)
num_list.remove((now_value * 100 // 75))
print(f'Case #{case+1}: {" ".join(map(str, result))}')
'코테풀이 > 쉬움 or 완전탐색' 카테고리의 다른 글
[프로그래머스 | 레벨2] 최솟값 만들기(두개를 오름차순, 내림차순 해서 연산) (0) | 2022.04.20 |
---|---|
[프로그래머스 | 2단계] 124 나라의 숫자 (0) | 2022.04.08 |
[백준 | 파이썬] 18870번: 좌표 압축(딕셔너리) (0) | 2022.03.08 |
[백준 | 파이썬 | 실버5] 10989번: 수 정렬하기 3 (0) | 2022.03.08 |
[백준 | 파이썬 | 실버5] 10814번: 나이순 정렬 (0) | 2022.03.08 |