์ฝ๋ฉ ํ ์คํธ ์ฐ์ต
<๊ฐ์ฅ ๊ธด ํฐ๋ฆฐ๋๋กฌ>
๋ฌธ์ ์ค๋ช
์๋ค๋ฅผ ๋ค์ง์ด๋ ๋๊ฐ์ ๋ฌธ์์ด์ ํฐ๋ฆฐ๋๋กฌ(palindrome)์ด๋ผ๊ณ ํฉ๋๋ค. ๋ฌธ์์ด s๊ฐ ์ฃผ์ด์ง ๋, s์ ๋ถ๋ถ ๋ฌธ์์ด(Substring)์ค ๊ฐ์ฅ ๊ธด ํฐ๋ฆฐ๋๋กฌ์ ๊ธธ์ด๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์๋ฅผ ๋ค๋ฉด, ๋ฌธ์์ด s๊ฐ "abcdcba"์ด๋ฉด 7์ return ํ๊ณ "abacde"์ด๋ฉด 3์ return ํฉ๋๋ค.
์ ํ์ฌํญ
-๋ฌธ์์ด s์ ๊ธธ์ด : 2,500 ์ดํ์ ์์ฐ์
-๋ฌธ์์ด s๋ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ๊ตฌ์ฑ
๋ฌธ์ ํ์ด
- my solution
def solution(s):
answer = 1 # ๋ฌธ์์ด ๊ธธ์ด 1
for i in range(len(s)-1): # ๋ชจ๋ ๊ฒฝ์ฐ์ ์ - ๋ฌธ์์ด
for j in range(i,len(s)):
temp=s[i:j+1]
if temp==temp[::-1]: # ํฐ๋ฆฐ๋๋กฌ ํ์ธ
if answer<len(temp): # ๊ฐ์ฅ ๊ธด ๊ธธ์ด
answer=len(temp)
return answer
1) ๋ฌธ์์ด ๊ธธ์ด๊ฐ 1์ผ ๋ answer=1
2) 2์ค for๋ฌธ ํตํด ๋ฌธ์์ด์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์ ์ฐพ๊ธฐ
- ํฐ๋ฆฐ๋๋กฌ(์๋ค๋ฅผ ๋ค์ง์ด๋ ๋๊ฐ์ ๋ฌธ์์ด) ํ์ธ
- ๊ฐ์ฅ ๊ธด ๊ธธ์ด ์ฐพ๊ธฐ
์๊ฐ๐ค
์ฒ์์ ๋ฌธ์ ๋ฅผ ํ์์ ๋ ์ ํ์ฑ์์ 1๋ฌธ์ ์คํจ์ ํจ์จ์ฑ์์ ์คํจ๊ฐ ๋ด์๋ค.
์ ํ์ฑ์์์ ์คํจ์ ์ด์ ๋ก๋ ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ 1์ผ ๋ answer์ 1๋ก ๋ฐ๊พธ์ง ์์์์๋ค.
์ฒ์์ ์กฐ๊ฑด์ ์๊ฐํ๊ธด ํ์ง๋ง ์ฝ๋๋ฅผ ๊ณ ์น๋ ๊ณผ์ ์์ ๋นผ๋จน์ ๊ฒ์ด์๋ค..!
ํจ์จ์ฑ์ ์คํจ์ ์ด์ ๋ก๋ ํฐ๋ฆฐ๋๋กฌ์ ํ์ธํ๋ ๊ณผ์ ์์์ for๋ฌธ ์ฌ์ฉ ๋๋ฌธ์ด์๋ค.
for๋ฌธ์ ์ฌ์ฉํ์ฌ ์ ๋ค๋ก ๊ฐ์์ง ํ์ธํ๋ ๋ฐฉ์์ผ๋ก ํ๋ ์๊ฐ ์ด๊ณผ๊ฐ ๋ด๋ค.
๋จ์ํ๊ฒ ์๊ฐํ๋ฉด ํฐ๋ฆฐ๋๋กฌ์ ์๋ค๋ฅผ ๋ค์ง์ด๋ ๋๊ฐ์ ๋ฌธ์์ด๋ก ๊ทธ๋ฅ ๋ฌธ์์ด์ ๋ค์ง์ด ๊ฐ์์ง ํ์ธํ๋ฉด ๋๋ ๊ฒ์ด์๋ค.
(์๋ฆ)
Level 3์ธ ๋ฌธ์ ์์ง๋ง ์ฐ์ต๋ฌธ์ ๋ผ ๊ทธ๋ฐ์ง ์๊ฐ๋ณด๋ค ๋นจ๋ฆฌ ํ ์ ์์๋ค.
์ถ์ฒ: ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉ ํ ์คํธ ์ฐ์ต, https://programmers.co.kr/learn/challenges
'๐Algorithm > ๐ฅprogrammers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[programmers] SUM,MAX,MIN๋ฌธ - SQL ๊ณ ๋์ Kit (0) | 2022.01.15 |
---|---|
[programmers] SELECT๋ฌธ - SQL ๊ณ ๋์ Kit (0) | 2022.01.12 |
[programmers] [3์ฐจ] ๋ฐฉ๊ธ๊ทธ๊ณก - 2018 KAKAO BLIND RECRUITMENT (0) | 2021.12.02 |
[programmers] ํผ๋ก๋ - ์ํด๋ฆฌ ์ฑ๋ฆฐ์ง (0) | 2021.12.01 |
[programmers] 124 ๋๋ผ์ ์ซ์ (0) | 2021.12.01 |