python

https://school.programmers.co.kr/learn/courses/30/lessons/12904 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 설명 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다.문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요.예를들면, 문자열 s가 "abcdcba"이면 7을 return하고 "abacde"이면 3을 return합니다. 제한사항문자열 s의 길이 : 2,500 이하의 자연수문자열 s는 알파벳 소문자로만 구성  입출력 예san..
문제파악https://www.acmicpc.net/problem/2504      접근 방법스택의 기본문제인 괄호 문제는 많이 풀어보았지만, 조금만 응용이 들어가니 어렵게 느껴졌다.이 문제에서의 중요한 점은 (X) 형태는 곱해주어야하고(종속), XY 형태라면 더해주어야 한다는 것이였다 ! 입력 예제 : ( ( ) [ [ ] ] )  ( [ ] ) 위의 예제로 보았을 때, 우리는 ( ( ) [ [ ] ] ) 와 ( [ ] ) 값을 더해주어야한다는 것을 한 눈에 알아볼 수 있다.그러면, 종속은 어떻게 확인할 수 있을까 ? 만일 우리가 ( ( ) ) 라는 괄호가 종속인 것을 판단하는 방법을 생각해보자. (전제 올바른 괄호)가장 내부의 한쌍이 나타났을 때, 그 후 뒤는 괄호가 종료되는 것이 아닌가 ? ( ( )..
깊이 우선 탐색(DFS)란?: 그래프의 시작 노드에서 출발하여 탐색할 한 쪽 분기를 정하여 최대 깊이까지 탐색을 마친 후 다른 쪽 분기로 이동하여 다시 탐색을 수행하는 알고리즘→ 현재 탐색 중인 노드를 기준으로 연결된 노드를 즉시 방문하는 방식재귀 함수로 구현스택 자료구조 이용시간 복잡도 - O( V + E ) [노드 수: V, 에지 수: E]   깊이 우선 탐색(DFS)의 핵심 이론시작점으로부터 연결된 모든 정점을 전부 방문해야 한다.이미 방문한 정점은 다시는 방문하지 않는다.N = 5 #노드 개수# 인접 리스트 만들기adj_list = [[] for _ in range(N)]adj_list[0].append(1); adj_list[0].append(2)adj_list[1].append(4); adj_..
1. 첫 번째 접근법 : 이중 for문을 사용하여 구하기 (시간초과 발생)n,m = map(int,input().split())arr = [list(map(int,input().split())) for _ in range(n)]# 시간 초과for _ in range(m): sum = 0 x1,y1,x2,y2 = map(int,input().split()) for i in range(x1-1,x2): for j in range(y1-1,y2): sum += graph[i][j] print(sum)    2. 두 번째 접근법: 누적합 이용하기원본 배열1234234534564567누적합 배열 구하기136101+2=33+3-1+3=8  💡 i열 j행의 누적..
마지의하루
'python' 태그의 글 목록