[BOJ/1254] ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ (๋ฌธ์์ด)
๋ฐฑ์ค ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ
๋ฌธ์์ด ๋ฌธ์ ๊ต์ฅํ ๊ฐ๋จํ๋ค๊ณ ์๊ฐํ๋๋ฐ ํ๋๋ง๋ค ๋ญ๊ฐ ๊ณ์ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ณ ๋งํ๋ค.
๊ทธ๋์ ๋ด๊ฐ ๊ฒช์๋ ์ํ์ฐฉ์ค๋ค์ด ์ฌ๋ฐํ์ง ์๊ธฐ ์ํด ์ ์ด๋๊ณ ๊ณ์ ์๊ธฐ ์์ผ์ผ๊ฒ ๋ค.
ํฐ๋ฆฐ๋๋กฌ(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
์ฐธ๊ณ
[๋ฐฑ์ค/Python] 1254๋ฒ - ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ
.
velog.io