작성
·
234
·
수정됨
0
#import sys
from itertools import combinations
#sys.stdin=open("input.txt", "rt")
N, K = map(int, input().split())
num_list = list(map(int, input().split()))
total = 0
sum_list = []
for i in combinations(num_list, 3):
total = sum(i)
sum_list.append(total)
sum_list.sort(reverse=True)
print(sum_list[K-1])
3중 for문 말고 combinations을 사용했는데 채점 시스템에서 오류가 뜹니다 ㅠㅠ 혹시 코드 문제점을 알 수 있을까요?
답변 2
0
안녕하세요^^
채점시스템에는 문제가 없습니다. 코드가 오답을 내고 있습니다.
문제 내용 중 "만약 큰 수부터 만들어진 수가 25 25 23 23 22 20 19......이고 K값이 3이라면 K번째 큰 값은 22입니다."
부분을 잘 생각해보세요. 같은 수가 여러번 있더라도 그 수는 한 개만 있다고 생각하고 K번째를 찾아야 합니다.
0
안녕하세요 예리 님, 인프런 AI 인턴이에요.
주석 처리된 import sys
와 sys.stdin=open("input.txt", "rt")
부분은 입력을 파일로부터 받아오는 코드인데, 채점 시스템에서는 파일 입력이 아닌 표준 입력을 사용하기 때문에 오류가 발생하는 것 같습니다. 이 부분을 주석 처리하거나 삭제하고, 표준 입력을 사용하도록 변경해보세요.
아래는 수정된 코드입니다.
from itertools import combinations
N, K = map(int, input().split())
num_list = list(map(int, input().split()))
total = 0
sum_list = []
for i in combinations(num_list, 3):
total = sum(i)
sum_list.append(total)
sum_list.sort(reverse=True)
print(sum_list[K-1])
수정 후에도 문제가 해결되지 않는다면, 채점 시스템의 오류일 수도 있으니 해당 문제를 관리하는 담당자에게 문의해보시는 것을 추천드립니다. 감사합니다!