Notice
														
												
											
												
												
													Recent Posts
													
											
												
												
													Recent Comments
													
											
												
												
											
									| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 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
													
											
												
												- gcp
 - JPA
 - Spring Data JPA
 - 프로그래밍문제
 - 스프링부트
 - Kafka
 - VPC
 - 쿠버네티스
 - Spring Boot
 - 클라우드
 - 자료구조
 - 알고리즘
 - 스프링
 - DFS
 - 백준
 - Docker
 - Apache Kafka
 - 로드밸런서
 - 카프카
 - 머신러닝
 - 스프링 부트
 - 개발
 - Spring
 - 클라우드 컴퓨팅
 - 코드업
 - 백트래킹
 - springboot
 - aws
 - Elasticsearch
 - 오일러프로젝트
 
													Archives
													
											
												
												- Today
 
- Total
 
GW LABS
[LeetCode] Palindromic Substrings 본문
Palindrome string은 뒤집었을 때에도 같은 순서를 갖고 있는 문자열이다. 우리말로는 '회문'이라고 한다. palindrome을 가지고 다양한 문제를 만들어낼 수 있는데, 문자열 뿐만 아니라 연결리스트 등 다양한 자료구조의 기본지식을 판단할 수 있는 문제이다. 해당 문제는 부분 문자열에서 palindrome을 찾는 문제였다.
class Solution:
    def countSubstrings(self, s: str) -> int:
        
        result = 0
        for length in range(1, len(s) + 1):
            idx_start = 0
            idx_end = length
            
            while idx_end <= len(s):
                now_string = s[idx_start:idx_end]
                if now_string == now_string[::-1]:
                    result += 1
                idx_start += 1
                idx_end += 1
            
        return result
단순하게 생각해서 길이 별로 모든 부분 문자열을 생성해내고(시작 인덱스가 다르다면 중복을 허용) 문자열을 뒤집어서 원래 문자열과 같은지 확인하면 된다. 이런 문제를 접근할 때 항상 인덱스를 계산하는게 어렵게 느껴져 기록을 해봤다. 또 이렇게 접근하기 전 O(N^2)으로 풀릴지 확인해봐야 하는데, 입력이 1000밖에 되지 않아 이 방법으로 해결했다.
'Algorithm & DataStructure' 카테고리의 다른 글
| C++로 구현하는 자료구조 (3) - HashMap (0) | 2020.09.14 | 
|---|---|
| [LeetCode] Decode String (0) | 2020.09.10 | 
| C++로 구현하는 자료구조 (2) - LinkedList (0) | 2020.09.05 | 
| C++로 구현하는 자료구조 (1) - ArrayList (0) | 2020.09.03 | 
| [코드업 3002] 기억력 테스트 3 (0) | 2020.09.01 | 
			  Comments