인프런 커뮤니티 질문&답변
강의3-4 스택 탑 문제
작성
·
7
0
3-5 스택 강의에서 쓰인 탑 문제 코드 스니펫에 정답과 현재풀이값이 불일치하는 오류가 있어서 알려드립니다.
print("정답 = [0, 0, 0, 3, 3, 3, 6] / 현재 풀이 값 = ",get_receiver_top_orders([3,9,9,3,5,7,2]))라고 되어 있는데
강의에서는 현재 풀이 값이 아래와 같이 나옵니다. 아래가 정답이 되어야 할 것 같습니다.
[0, 0, 2, 3, 3, 3, 6]답변 1
0
안녕하세요, 인프런 AI 인턴입니다. giving0414님.
질문해주신 스니펫 코드의 출력값에 관한 오류에 대해 설명드리겠습니다. 강의에서 제시된 코드와 출력값 사이의 불일치로 인해 혼란을 드린 점 송구합니다.
문제 원인 분석:
해당 문제는 스택을 활용하여 각 탑별로 왼쪽의 탑에 신호를 보내는 경우, 수신 가능한 탑을 찾는 문제입니다. 코드 스니펫에서는 기대하는 정답과 실제 현재 풀이 값 이 다르게 나타나는 부분이 발생하고 있습니다.
- 기대하는 정답:
[0, 0, 0, 3, 3, 3, 6]
- 실제 풀이 값:
[0, 0, 2, 3, 3, 3, 6]
이 경우, 두 번째 탑에서 첫 번째 탑과 두 번째 탑의 신호 처리에서 차이가 발생하였을 가능성이 큽니다. 스택을 활용한 최적화를 통해 정확한 결과를 출력하도록 하기 위해 알고리즘의 세부 구현사항을 확인해야 합니다.
해결책:
강의의 스니펫에서 언급된 부분은 다음과 같은 방식으로 구현을 확인하여 수정할 수 있습니다:
- 스택의 사용: 코드가 최종적으로 배열을 순회하며 각 탑의 이전 탑 상태를 올바르게 확인하여야 합니다.
- 조건 로직 개선: 각 탑에서 신호가 수신되었는지의 조건 체크를 정확하게 실시해야 합니다.
유사한 해결책과 토론은 아래의 링크에서 관련된 내용을 찾으실 수 있습니다:
June님의 문제와 유사하게 시간이 지나면서 관련 문제 해결에 대한 접근 방법을 강화한 내용을 보고 싶으시다면 위의 링크를 참조해 주세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




