https://www.codewars.com/kata/54bb6f887e5a80180900046b/train/c


코드를 어찌어찌 짜고는 있는데, 기껏 2차원 배열로 나눠서 공백도 검사하게 했더니

공백은 단순하게 return값만 더해주는 거였고, instruction에는 없는 안써놨던 사항이라 제대로 낚여서

덕분에 3중 for문으로 구현하고 있는 중인데.. 아래 예시처럼 해보는 중임다.



ex) fff abcd cbae eee 라는 char*이 있다고 하면 리턴은 abcd cba<< 가 가장 기니까 8 반환해야 함.

1) 일단 공백 카운트는 별도로 세고, 1차원 배열 안에 다 붙여서 정렬.

2) fffabcdcbaeeee에서 제일 첫 f와 제일 끝e ~ 두 번째 f까지 비교.

3) fff를 찾아내어 3 저장.

4) 2번째 f, 3번째 f도 마찬가지로 수행하나, 3번에서 찾은 3보다는 결과가 적어 3을 저장.

5) a까지 왔을 때는 문장 내에 다른 a가 존재하고, 마찬가지로 찾아냄.

6) b와 b도 대칭임을 확인 -> c와 c도 대칭임을 확인 -> 모두 맞는 것을 확인.

7) abcd cba 길이(8) 리턴(스페이스 위치 구하는 것도 별도로 구해서 구현 완료했음.)



요런 식인데 어떤지...

단순하게 앞뒤를 비교하는게 아니라 넘 복잡해서 아이디어 있나 물어봄다.


프갤에 먼저 올려봤는데 댓글이 1도 없어서 PS갤에 도움요청합니다.

이거 때문에 몇십시간 쓴 것 같은데 도저히 안풀려서요... ㅠㅠ

깃허브에 소스코드 저장되어 있는데 코드리뷰까지 도움요청하면 너무 염치없는 듯 해서 알고리즘 팁만 살짝 여쭤봅니다.