๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜

[BOJ/1254] ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ (๋ฌธ์ž์—ด)

by mingzoo 2023. 9. 13.

๋ฐฑ์ค€ ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ

๋ฌธ์ž์—ด ๋ฌธ์ œ ๊ต‰์žฅํžˆ ๊ฐ„๋‹จํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ํ’€๋•Œ๋งˆ๋‹ค ๋ญ”๊ฐ€ ๊ณ„์† ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ณ  ๋ง‰ํžŒ๋‹ค.

๊ทธ๋ž˜์„œ ๋‚ด๊ฐ€ ๊ฒช์—ˆ๋˜ ์‹œํ–‰์ฐฉ์˜ค๋“ค์ด ์žฌ๋ฐœํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด ์ ์–ด๋†“๊ณ  ๊ณ„์† ์ƒ๊ธฐ ์‹œ์ผœ์•ผ๊ฒ ๋‹ค.

 

ํŒฐ๋ฆฐ๋“œ๋กฌ(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

 

728x90