Koala - 10기/기초 알고리즘 스터디

[백준/17502번]JAVA 클레어와 펠린드롬

2_donghh 2023. 5. 7. 22:27

https://www.acmicpc.net/problem/17502

 

17502번: 클레어와 팰린드롬

입력으로 주어진 문자열을 팰린드롬이 되도록 '?' 문자들을 적절한 알파벳 소문자들로 바꾸어 출력합니다. 방법이 여러 가지인 경우 그 중 하나만 출력합니다.

www.acmicpc.net

<풀이>

팰린드롬은 앞에서 읽으나 뒤에서 읽으나 일치해야 한다. 즉, 문자열의 양 끝에서 포인터의 위치를 변화시켜 두 포인터가 가르키는 문자가 전부 동일해야 한다.

1. 앞쪽의 문자가 '?', 뒤쪽은 '?'가 아님 -> 뒤의 문자를 앞쪽에 넣어준다.

2. 뒤쪽의 문자가 '?', 앞쪽은 '?'가 아님 -> 앞의 문자를 뒤에 넣어준다.

3. 둘 다 '?' -> 아무 문자나 넣어주면 된다. 내 경우엔 'a' 

<코드>