강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

nayoushin123님의 프로필 이미지
nayoushin123

작성한 질문수

코드 어디가 문젤까요?

작성

·

94

0

1000000921.jpg출력이 123456이 나와야하는데 계속 125가 나오네요..

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

nayoushin123님의 질문 내용을 바탕으로, 출력 결과가 의도한 대로 나오지 않는 문제는 여러 원인에 의해 발생할 수 있습니다. 코드의 전체적인 구조는 올바르게 설정되어 있는 것 같지만, 문제가 되는 부분은 아마도 문자 배열 str[]에서 숫자로 변환되어 스택에 푸쉬되는 부분일 가능성이 높습니다.

문자를 숫자로 변환할 때, 단순히 '0'을 빼는 방법을 사용하셨다면 올바르게 구현된 것입니다. 하지만, 숫자가 아닌 문자('a')도 숫자로 변환을 시도하게 되면 스택에 예상치 못한 값이 들어갈 수 있습니다. 이로 인해 출력 결과가 의도한 것과 다르게 나올 수 있습니다.

또한 printStack 함수의 구현부를 확인해볼 필요가 있습니다. 스택의 모든 요소를 올바르게 순회하면서 출력하는지, 스택에서 요소를 제거하지 않고 올바르게 각 요소의 값을 출력하는지를 확인해야 합니다.

가능한 해결 방법은 다음과 같습니다.
1. 문자 배열을 순회하면서 숫자인지를 판별할 때, '0' 이상 9 이하인지를 확인하여 숫자만 스택에 푸쉬하도록 합니다.
2. printStack 함수가 스택의 모든 요소를 올바르게 출력하도록 구현이 되었는지 확인합니다. 스택의 구조상 LIFO(Last In First Out) 원칙을 따르기 때문에, 역순으로 출력하려면 추가적인 자료구조를 사용하거나 재귀 방식을 고려해 볼 수 있습니다.

문제의 정확한 원인 파악을 위해서는 더 많은 코드 내용이나, 해당 부분의 구현 방법을 봐야 정확한 해결책을 제시할 수 있습니다. 코드의 나머지 부분도 검토해 보시면서, 위에서 제안드린 부분을 확인해 보세요.

nayoushin123님의 프로필 이미지
nayoushin123

작성한 질문수

질문하기