2016년 5월 2일 월요일

BOJ 6086 map...

map을 이용해서 index를 정해주는 과정에서 문제가 생겼다.



 
이렇게 하는 것을 줄여서



이렇게 바꿀 경우 인덱스가 0부터 할당이 안되고 1부터 할당이 되었다.

처음에는 이해가 안되었지만 생각해보니...
지금 이 map의 경우, idx[c]라는 코드를 써 줌으로서 map에 char c에 해당하는 자리가 하나 생기는 것이다. 그렇기 때문에 idx.size()를 하면 처음에 이미 한 자리가 할당된 상태에서 size()를 호출하니 1이 반환될 수 밖에 없다.

그럼에도 이걸 쓰고 싶다면 어떻게 고치면 될까?

바로 이렇게 고치면 된다.

오늘도 내 실력이 부족하다는 것을 느끼고, 새로운 것을 배웠다.
감사합니다.

댓글 없음:

댓글 쓰기