map을 이용해서 index를 정해주는 과정에서 문제가 생겼다.
이렇게 하는 것을 줄여서
이렇게 바꿀 경우 인덱스가 0부터 할당이 안되고 1부터 할당이 되었다.
처음에는 이해가 안되었지만 생각해보니...
지금 이 map의 경우, idx[c]라는 코드를 써 줌으로서 map에 char c에 해당하는 자리가 하나 생기는 것이다. 그렇기 때문에 idx.size()를 하면 처음에 이미 한 자리가 할당된 상태에서 size()를 호출하니 1이 반환될 수 밖에 없다.
그럼에도 이걸 쓰고 싶다면 어떻게 고치면 될까?
바로 이렇게 고치면 된다.
오늘도 내 실력이 부족하다는 것을 느끼고, 새로운 것을 배웠다.
감사합니다.
댓글 없음:
댓글 쓰기