이 코드는 안되는 예제가 어떤게 있을까요..
113
작성자 없음
작성한 질문수 0
답보다 구한 개수가 더 클 때와 같을 때를 구분해서 코드를 작성하면 정답이 아닌 것도 있는데 왜일까요?! 결국 개수가 같은 것을 찾는 것이니까 맞지 않나요...???
import sys
#sys.stdin = open("00.txt", "r")
k, n = map(int, input().split())
lens = list(int(input()) for _ in range(k))
rt = max(lens)
lt = 0
while rt >= lt:
temp = (rt+lt)//2
s = 0
for i in range(k):
s += lens[i] // temp
if s > n:
lt = temp + 1
elif s < n:
rt = temp - 1
else:
re = temp
lt = temp + 1
print(re)
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
질문하신 코드의 핵심 로직은 랜선을 자르는 최대 길이를 구하는 이진 탐색 방법입니다. 이런 유형의 문제는 주어진 조건(랜선의 개수) 내에서 최적의 해답을 찾아야 하며, 여러 개의 랜선을 잘라서 특정 개수를 만족해야 하는 조건을 충족해야 합니다.
질문에서 언급한 “답보다 구한 개수가 더 클 때와 같을 때를 구분해서 코드를 작성하면 정답이 아닌 것도 있는데 왜일까요?“에 대한 답변으로, 범위 설정에서 일어나는 로직 오류를 지적할 수 있습니다. 특히, if s > n: 절에서, 개수가 더 많을 경우 lt를 업데이트 하는 것은 맞지만, 이 경우에도 최적의 값이 될 수 있으므로, 이 조건에서도 잠재적으로 정답이 될 수 있는 값을 업데이트 해야 할 수 있습니다. 즉, re의 업데이트를 단순히 else: 절에서만 하는 것이 아니라, if s >= n: 조건에서도 고려해야 합니다. 이는 문제의 조건에서 랜선의 개수가 주어진 n과 정확히 일치하거나 n보다 많이 만들 수 있을 때 그 길이가 정답이 될 수 있기 때문입니다.
제시된 코드와 유사한 문제인 “랜선 자르기”에 대한 해설이 포함된 답변 링크는 다음과 같습니다.
- 랜선 자르기(결정알고리즘)에서는 결정알고리즘을 통해 질문자님이 제시한 코드와 유사한 문제에 대한 해결 방식을 제공하고 있습니다.
해당 답변에서는 주어진 랜선의 길이를 이용하여 목표하는 랜선의 개수를 만족할 수 있는 최대 길이를 찾는 과정을 설명하고 있습니다. 또한, 문제 해결 방식에서 중요한 점은 목표 개수 n과 실제로 만들 수 있는 랜선의 개수가 같거나 더 많을 경우, 해당 길이를 기록하고 계속해서 탐색을 진행하여 가능한 최대 길이를 찾는 것입니다.
이 경우의 답변은 질문 내용과 정확히 일치하는 부분을 다루고 있으니, 해당 맥락을 이해하고 코드에 반영하시면 해결하고자 하는 의문에 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.
1
77
2
스택에서 ')'을 만나는 경우
0
78
3
문제가 어디있나요?
0
66
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
127
2
left, right를 사용한 풀이법에 대한 질문입니다
0
91
1





