TOT, ZOZ를 넣어보세요.
그러면 값이 제대로 출력이 안 됩니다.
1213번 - 팰린드롬 만들기
TOT, ZOZ를 넣어보세요.
그러면 값이 제대로 출력이 안 됩니다.
알고리즘 수행 과정을 도식화 해서 그려보겠습니다.
홀수일 때 봅시다. TOT를 입력했을 때, 홀수개 들어간 문자는 O입니다.
그리고, 문자열을 오름차순으로 정렬한다면 OTT가 나오겠지요? 이게 cf고요.
일단 k가 0입니다. temp + 'A'는 홀수번 나온 문자일 거고요.
char c = s[3/2] = (char)(temp + 'A')에 의해서, s[1]에는 O가 들어갑니다.
문제는 이 과정에서, k가 하나 증가했어야 하는 건데요.
증가를 하지 않았기 때문에 cf[k]는 그대로 O이 되고요.
이 과정에서, s[0]과 s[2]에 그대로 O가 들어가게 되는 겁니다.
문자열에 회문을 어떻게 채울것인지에 대한 고민을
다시 해 보시는 게 좋을 듯 싶습니다.
의외로 인덱스 계산 때문에 맞은 거 같은 문제가 틀린 경우도 많더라고요.
사실, ch님 아이디어도 틀린 게 없었으니까요. 정렬도 해 놓으셨고..
이런 것은, 어떻게 보면, 포인터(?) 같은 것을 이동하면서 배열에 맞는 값을 집어넣어야 하는 문제인데요.
설계할 때 포인터 쪽을 조금 더 신경을 써야 할 듯 싶습니다.
의의로 이런 것들 때문에 힘들더라고요.
댓글을 작성하려면 로그인해야 합니다.
chung365 7년 전
알파벳이 홀수개인 경우 짝수개인 경우 나누어서 실행했습니다.
테스트케이스 웬만한 것 다 돌려보았고 올바른 답인 것 확인했는데
채점하면 틀리네요..ㅠ
반례 뭐가 있을까요??