마구간 문제

미해결질문
banggoo1152 프로필

밑의 코드와 같이 작성하여 실행시켰는데, 2번 예제에 대해서만 오류가 뜹니다. 

정답은 43이라고 되어 있는데, 제 답은 37로 나옵니다.

강사님의 강의와 제 코드를 비교해봐도 어느 부분이 정확히 틀렸는지 잘 모르겠습니다.

검토해주시고 알려주시면 정말 감사하겠습니다.

import sys

sys.stdin = open(r"C:\Users\user\Desktop\Documents\파이썬 알고리즘 문제풀이(코딩테스트 대비)\섹션 4\4. 마구간 정하기\in2.txt", "r")
,target_count = list(map(int, input().split()))
input_list1 = []
for i in range(n):

    input_list1.append(int(input()))


def decide_horse_house():

    input_list = sorted(input_list1)

    left = 1
    right = max(input_list) - 1
    distance_between_closet_horses = (left+right)//2
    result = 0
    
    while True:
        
        count = 1
        start = input_list[0]
        for i in range(start+1, len(input_list)):
            
            if (input_list[i] - start) >= distance_between_closet_horses:
                
                count = count + 1
                start = input_list[i]
                
        if count >= target_count:
            
            result = distance_between_closet_horses
            left = distance_between_closet_horses + 1
            distance_between_closet_horses = (left+right)//2
            
        elif count < target_count:
            
            right = distance_between_closet_horses - 1
            distance_between_closet_horses = (left+right)//2
        
        if left > right:
                
            print(result)
            break
        
decide_horse_house() 
김태원 프로필
김태원 2달 전

문제가 있는 코드는 아래부분입니다.

for i in range(start+1, len(input_list)):

banggoo1152 프로필
banggoo1152 2달 전

감사합니다. 매개변수 i에 들어가는 index 초기값이 이상하게 되어 있었네요. 해결했습니다.

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스