๋ฐฑ์ค ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ
๋ฌธ์์ด ๋ฌธ์ ๊ต์ฅํ ๊ฐ๋จํ๋ค๊ณ ์๊ฐํ๋๋ฐ ํ๋๋ง๋ค ๋ญ๊ฐ ๊ณ์ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ณ ๋งํ๋ค.
๊ทธ๋์ ๋ด๊ฐ ๊ฒช์๋ ์ํ์ฐฉ์ค๋ค์ด ์ฌ๋ฐํ์ง ์๊ธฐ ์ํด ์ ์ด๋๊ณ ๊ณ์ ์๊ธฐ ์์ผ์ผ๊ฒ ๋ค.
ํฐ๋ฆฐ๋๋กฌ(Palindrome)
์์์๋ถํฐ ์ฝ์ผ๋ ๋ค์์๋ถํฐ ์ฝ์ผ๋ ๊ฐ๊ฒ ์ฝํ๋ ๋ฌธ์์ด
์ ๊ทผ๋ฐฉ์
1) ์ค๊ฐ ๊ธฐ์ค์ ์ฐพ๊ธฐ
์ด๋ ๊ฒ ์ฒ์๋ถํฐ ์ ๊ทผ์ ํ์๋๋ฐ ๋์ ํ ์ํ๋ฆฐ๋ค. ๋์ฒ๋ผ ์ด๋ ๊ฒ ์ํ์ฐฉ์ค๋ฅผ ๊ฒช์๋ ๊ฒ ๊ฐ์ ๋ถ์ ๋ธ๋ก๊ทธ๋ฅผ ๋ณด๊ณ ์์ดค์ฐจ~์ถ์๋ค.
2) ์๋ณธ ๋ฌธ์์ด์ ๊ธธ์ด๋งํผ ๋์นญ์ธ ๊ฒฝ์ฐ
abab => abab | abab
3) ๋ฌธ์์ด ๋งจ ์๊ธ์๋ถํฐ ์ต๋ํ ์ ์ ๊ธ์๋งํผ ๋์นญ
abab => a | bab | a
์ฒ์์๋ 1๋ฒ์ผ๋ก๋ฐ์ ์๊ฐ์ ๋ชปํ๋๋ฐ 2,3๋ฒ์ ๋ณด๊ณ ๋๋ ๋ด๊ฐ ์์ ์๋ชป ์ ๊ทผํ๊ณ ์์๊ตฌ๋ ์ถ์๋ค.
3๋ฒ ์ ๊ทผ๋ฐฉ์์ ์ฌ์ฉํด์ ํผ ํ์ด๊ฐ ์๋์ ๊ฐ๋ค.
ํ์ด
s = input()
for i in range(len(s)):
if s[i:] == s[i:][::-1]:
print(len(s)+i)
break
์ฐธ๊ณ
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ/13164] ํ๋ณต ์ ์น์ (๊ทธ๋ฆฌ๋) (0) | 2023.10.11 |
---|---|
[์ฝ๋ํธ๋ฆฌ ์ฑ๋ฆฐ์ง] 5์ฃผ์ฐจ (10/4-10/9), DFS (0) | 2023.10.09 |
[์ฝ๋ํธ๋ฆฌ ์ฑ๋ฆฐ์ง] 4์ฃผ์ฐจ (9/27-10/2), ๋ฐฑํธ๋ํน (0) | 2023.09.30 |
[์ฝ๋ํธ๋ฆฌ ์ฑ๋ฆฐ์ง] 3์ฃผ์ฐจ (9/20-9/25), ๋ฐฑํธ๋ํน (0) | 2023.09.23 |
[์ฝ๋ํธ๋ฆฌ ์ฑ๋ฆฐ์ง] 2์ฃผ์ฐจ (9/13-9/18), ์์ ํ์ (0) | 2023.09.18 |