안녕하세요, 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]] 로 해야 원하시는 값이 들어갈 것 같습니다.
headmaster 1년 전
테스트 케이스 몇 개 넣으면서 확인해봤을 때 다 맞았는데 자꾸 틀렸다고 나와서 질문드립니다..!
제 코드의 반례나 틀린 부분 알려주시면 감사하겠습니다 ㅜㅜ!!