반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Kakao
- Python
- 프로그래머스 #카카오 #IT #코딩테스트
- 네트워크
- 스프링
- Linux
- 알고리즘
- docker
- DPDK
- 스프링부트
- 엘라스틱서치
- 자바
- programmers
- IT
- 개발자
- 운영체제
- springboot
- 프로그래머스
- Elasticsearch
- 캐시
- Spring
- 코딩테스트
- 쿠버네티스
- 도커
- 파이썬
- 백엔드
- 카카오
- C
- 리눅스
- Java
Archives
- Today
- Total
저고데
[프로그래머스]가장 긴 팰린드롬 본문
728x90
반응형
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12904
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제를 간략히 설명하면 다음과 같다.
팰린드롬이란 앞으로 읽거나 뒤로 읽어도 같은 것을 의미한다.
문자열 s가 주어질 때, s로 만들 수 있는 팰린드롬의 최대 길이는 얼마인지 반환해야 한다.
코드를 작성하기 위한 순서는 다음과 같다.
1. 문자열 s로부터 만들 수 있는 문자열 만들어준다.
2. 해당 문자열을 뒤집었을 때도 동일하다면 해당 문자열의 길이를 stack에 append해준다.
3. stack 내에서 가장 큰 값을 반환한다.
def solution(s):
answer = 0
stack=[]
for i in range(len(s)): #1번
for j in range(len(s)):
word=s[i:j+1]
if word==word[::-1]: #2번 : python에서 문자열을 뒤집을 때는 [::-1]을 사용한다.
stack.append(j-i+1) #문제에서 문자열을 구하는 것이 아닌 길이를 구하는 것이 목적이기 때문에 문자열의 길이인 j-i+1을 stack에 넣어준다.
answer=max(stack) #3번
return answer
728x90
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스]정수 삼각형 (0) | 2023.02.01 |
---|---|
[프로그래머스]문자열 압축 (0) | 2023.01.25 |
[프로그래머스]성격 유형 검사하기 (0) | 2023.01.24 |
[프로그래머스]괄호 변환 (0) | 2023.01.24 |
[프로그래머스]수식 최대화 (0) | 2023.01.24 |