백준
백준 2236 칩 만들기 (파이썬)
MC류짱
2023. 9. 22. 15:36
실버문제 잘 안올리라하는데 이 문제는 푼 사람이 많이 없어서 씀
풀이 및 해설
N, K = map(int, input().split())
tmp_nums = list(map(int, input().split()))
nums = []
for _ in range(N):
nums.append([tmp_nums[_], _, 0])
sorted_nums = sorted(nums, key=lambda x: (-x[0], -x[1]))
rst = []
for k in range(K):
if k < N: # 전원선 수가 부품 수보다 클 수 있으므로 확인
sorted_nums[k][2] = sorted_nums[k][1] + 1
rst.append(sorted_nums[k][1] + 1)
# 연결된 전원선 출력
for r in rst:
print(r)
# 남은 전원선 출력
for _ in range(K - len(rst)):
print(0)
for num in nums:
print(num[2])
- 뭔가 문제가 좀 이상했음
- k가 N보다 크게 나올 수 있다는 것도 이상함(이것때매 좀 해매서 짜증났음)
- 걍 제일 큰 값에 달아주면 자기 제곱이니까 그렇게 품
- 출력도 뭐 오름차순 내림차순 이런 말도 없음