wjdgh12392   1년 전

ㅠㅠ 70%까지라도 골드 5문제 스스로 맞춘 내 자신이 뿌듯합니다. 고수님들 처럼 100% 다 맞힐 수 있게 도와주십쇼

pill27211   1년 전

반례입니다.

Input)

100 50 51 4 6

Output)

50

Answer)

use the stairs

wjdgh12392   1년 전

감사합니다. 도움 주셔서 제 코드가 지하층도 고려한다는 건 알게되었는데...

1 <= ns 조건 추가하면 또 되려 17%정도에서 틀렸다고하네요.. ㄷㄷ 제 코드로는 그냥 방식 자체가 틀린걸까요?

pill27211   1년 전

음,, 파이썬은 제가 잘 모르긴 하는데 BFS(완전탐색)를 이용하신거죠 ?

그렇다면

(큐에서 꺼낸 것을 p라 칭함)

1. 큐에 삽입할 때

p + U <= F && !arr[p + U]

를 만족하면 p + D 삽입.

그리고,

p - D >= 1 && !arr[p - D]

를 만족하면 p - D 삽입.

위의 조건이 잘 지켜지는지 확인해 보세요..!

wjdgh12392   1년 전


1번. 큐 삽입하기전에 s를 pop 한 다음 s가 g 보다 작으면 s - d >= 1을 만족 할 시 진행 아니면 break

2번. 말씀주신대로 큐 삽입 때 ns >= 1보다 크면 큐 삽입하게 수정했는데

17%에서 오류 혹은 런타임에러(name error)로 나오네요 ㅠㅠ

pill27211   1년 전

2 1 2 4 5

와 같은 입력이 들어 왔을 때 지정된 배열 범위를 넘어선 참조가 일어나지 않나요 ?( -> 런타임 에러)


그냥

if g > s:
    ns = s + u
elif g < s:
    if s - d >= 1:
        ns = s - d

.

.

.

처럼 그리디적인 것 보다, 

_x = s + U

_y = s - D

로 한 다음

각각의 _x와 _y에 대해 위에서 말씀 드린 조건연산을 하는 것이 조금 더 낫지 않을까 싶네요..!

(C/C++이면 코드에 대한 직접적인 첨삭이 가능한데 파이썬이라 잘 모르겠네요 ㅜㅜ)

댓글을 작성하려면 로그인해야 합니다.