Python

Study/코딩 테스트

2021.3.15 [백준] 괄호

Q www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net A 예외상황을 어떻게 처리할 것인지 고민하는 것이 중요했다. 나의 코드 n = int(input()) array = [0]*n for i in range(n): array[i] = list(input()) def so(array, n): a = 0 # ( 의 개수 b = 0 # ) 의 개수 if array[n].count('(') != array[n].count(')'): re..

Study/코딩 테스트

2021.3.3 [백준] 뒤집기

그리디 알고리즘 Q www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net A bisect 라이브러리는 정렬된 배열에서만 사용해야 한다는 것은 알게 되었다. 나누기 2를 하고 ceil을 이용한다는 유연한 방식을 나도 계속 생각해보자! 처음 코드 from bisect import bisect_left, bisect_right from collections import Counter a = input() array = [0] * len(a) for i in range(..

Study/Python

2021.3.1 알고리즘(분리 집합)

1. 분리집합 서로소 집합이라고도 하는 분리집합(Disjoint Sets)은 공통 원소가 없는 두 집합을 말한다. 분리집합 자료구조에서는 union 연산과 find 연산을 사용한다. 시간복잡도는 O(V+M(1+logV))정도 이다. 코드는 다음과 같다. def find_parent(x): #루트 노드 탐색 if p[x] != x: p[x] = find_parent(p[x]) return p[x] def union(x, y): #합집합 x = find_parent(x) y = find_parent(y) if x

Study/코딩 테스트

2021.3.1 [백준] 공항

서로소 집합 알고리즘(분리 집합 알고리즘) Q www.acmicpc.net/problem/10775 10775번: 공항 예제 1 : [2][?][?][1] 형태로 도킹시킬 수 있다. 3번째 비행기는 도킹시킬 수 없다. 예제 2 : [1][2][3][?] 형태로 도킹 시킬 수 있고, 4번째 비행기는 절대 도킹 시킬 수 없어서 이후 추가적인 도킹은 불 www.acmicpc.net A 이중 반복문을 이용하여도 풀 수 있으나 시간초과가 된다. 따라서 분리집합 알고리즘을 이용하여야 한다. 코드 def find_parent(x): #루트노드 찾기 if p[x] != x: p[x] = find_parent(p[x]) return p[x] def union(x, y): #합집합 x = find_parent(x) y =..

NOredstone
'Python' 태그의 글 목록 (3 Page)