k번째 큰 수 출력 값이 143이 안나옵니다.
129
이영은
작성한 질문수 1
0
import sys
sys.stdin = open("input.txt", "rt")
n, k = map(int, input().split())
a = list(map(int, input().split()))
res = set()
for i in range(n):
for j in range(i+1):
for m in range(j+1):
res.add(a[i]+ a[j]+ a[m]) # res 에 집어 넣음
res = list(res)
res.sort(reverse = True)
print(res)
print(res[k-1])
결과값이
[13, 15, 34, 23, 45, 65, 33, 11, 26, 42] # 입력 리스트 a의 값 [195, 175, 172, 164, 163, 156, 155, 153, 152, 149, 145, 144, 143, 141, 140, 136, 135, 133, 132, 131, 130, 129, 126, 125, 124, 123, 122, 121, 120, 118, 117, 116, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 45, 43, 41, 39, 37, 35, 33] # res = list(res) 172
이렇게 나옵니다...
a[i]+ a[j]+ a[m]으로 계산된 값을 보면 172가 정답이긴 한데..선생님의 코드랑 똑같고 인풋도 똑같은데 어쩨서 아웃풋이 다른지 모르겠습니다.
ps- 10 13 # n, k = map(int, input().split()) 코드에 해당 하는 이 줄에서
k = 13일 경우 143이 출력됩니다.
이러한 경우가 아닌가 문의드립니다!
감사합니다.
답변 1
0
위 코드에서 res.add(a[i]+ a[j]+ a[m]) 라인 위에서 print(a[i], a[j], a[m])을 해보시기 바랍니다. 아마 한 숫자가 중복되어 나올겁 니다. 중복되지 않게 뽑아야 하므로 j for문의 range(i+1, n)로 m for문도 range(j+1, n)으로 바꾸셔야 합니다.
기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.
0
76
2
스택에서 ')'을 만나는 경우
0
78
3
문제가 어디있나요?
0
64
2
변수 or 함수명
0
61
1
침몰하는 타이타닉 문제 질문입니다
0
56
1
AA.py 책점 에러
0
57
1
오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.
0
111
2
5.동전분배하기 문제 밑에코드도 정답이될까요?
0
110
1
아나그램 비교 코드
0
116
2
AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.
0
160
2
문제 링크가있나여?
0
147
2
채점기 Time Limit Exceeded 오류 문의
1
163
2
동적계획법은 사용하는 문제
0
126
2
제 코드 좀 봐주세요
0
148
1
예외가 존재할 가능성?
0
97
1
3번이 안풀립니다
0
93
0
5번 틀림
0
114
0
오류원인?
0
98
0
리스트 선언
0
106
1
침몰하는 타이타닉(그리디) 문제 질문
0
109
1
알고리즘
0
69
1
코딩테스트
0
92
1
DFS 순서 질문드립니다.
0
125
2
left, right를 사용한 풀이법에 대한 질문입니다
0
91
1





