headmaster   1년 전

테스트 케이스 몇 개 넣으면서 확인해봤을 때 다 맞았는데 자꾸 틀렸다고 나와서 질문드립니다..!

제 코드의 반례나 틀린 부분 알려주시면 감사하겠습니다 ㅜㅜ!!

choko100   1년 전

안녕하세요, 15번 라인에 보면 sl[i] = li[j-1] 로 12번 라인의 if 문을 거치지 않아도 sl[i] 가 무조건 마지막 j-1 이 입력되도록 해서 문제인 것으로 보입니다. 문제의 예제에서는 보이지 않지만 중복된 알파벳이 나오는 경우에 마지막에 추가된 값으로 덮어씌워지면서 문제가 생깁니다.

입력)

3
AB+C-B*
5
4
1

정답)

32.00

위의 코드 출력)

8.00

위의 코드의 문제를 해결하려면 15번 라인을 sl[i] = li[j-1] 이 아니라 sl[i] = hash[sl[i]] 로 해야 원하시는 값이 들어갈 것 같습니다.

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