inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

4. 마구간 정하기(결정알고리즘)

while문안에 if문 조건설정시 기준을 잘 모르겠습니다.

288

이희건

작성한 질문수 3

0

혼자 풀면서 처음에 이런식으로 작성해서 답이 나왔습니다.
 
# 정답코드
if putt(mid) >= c:
        res = mid
        lt = mid + 1
    else :
        rt = mid - 1
 
# 왜안되는지 모르는 코드
if putt(mid) <= c:
        res = mid
        rt = mid - 1
    else :
        lt = mid + 1
 
근데 putt(mid)가 c보다 작을 때 rt를 변화시켜주는 것, 즉
마구간의 일정거리를 더 가깝게 하는 것으로 변화시켜간다면
어떻게 될지 궁금해서 아래와 같이 코드를 작성해봤는데
답이 2가 나왔습니다.
제가 지금 생각하기로는 위 코드와 아래코드의 차이는
1. 거리가 좁아서 cnt가 c보다 클 때 lt를 조정시켜 점점
크게 만들어주는 방법
2. 거리가 넓어서 cnt가 c보다 작을 때 rt를 조정시켜 점점
작게 만들어주는 방법
이 두가지 인데 이 두가지를 선택하는 기준과 왜 답이 다른지
잘 모르겠습니다.
 
 

python 코테 준비 같이 해요!

답변 1

0

김태원

안녕하세요^^

putt에 매개변수로 넘어가는 mid는 가장 가까운 두 말의 거리라고 생각하고 putt로 넘어가는 것입니다.

그리고 putt은 mid 거리로 말을 배채했을 때 배치할 수 있는 말의 수를 리턴하는 것이구요.

그래서 리턴한 값이 c보다 크거나 같아야 모든 말을 배치할 수 있는 것이겠죠, 그리고 그 mid는 답이 될 수 있으니 res에 일단 저장하구요. 

기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.

1

104

2

스택에서 ')'을 만나는 경우

0

112

3

문제가 어디있나요?

0

86

2

변수 or 함수명

0

81

1

침몰하는 타이타닉 문제 질문입니다

0

72

1

AA.py 책점 에러

0

65

1

오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.

0

117

2

5.동전분배하기 문제 밑에코드도 정답이될까요?

0

118

1

아나그램 비교 코드

0

126

2

AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.

0

164

2

문제 링크가있나여?

0

155

2

채점기 Time Limit Exceeded 오류 문의

1

183

2

동적계획법은 사용하는 문제

0

135

2

제 코드 좀 봐주세요

0

155

1

예외가 존재할 가능성?

0

100

1

3번이 안풀립니다

0

98

0

5번 틀림

0

125

0

오류원인?

0

106

0

리스트 선언

0

116

1

침몰하는 타이타닉(그리디) 문제 질문

0

115

1

알고리즘

0

74

1

코딩테스트

0

98

1

DFS 순서 질문드립니다.

0

139

2

left, right를 사용한 풀이법에 대한 질문입니다

0

101

1