Heeto
article thumbnail
[ 백준 / G5 / 파이썬 Python ] 9519번 졸려

링크 : https://www.acmicpc.net/problem/9519 9519번: 졸려 첫째 줄에 X(1 ≤ X ≤ 1,000,000,000) 가 주어지고, 둘째 줄에 X번 깜박인 후의 단어가 주어진다. 단어는 알파벳 소문자로만 이루어져 있고, 길이는 구간 [3,1000]에 포함된다. www.acmicpc.net 코드 def solution(x,arr): status = int((n := len(arr)) % 2 != 0) arr2 = arr.copy() cnt = 0 while 1: # 싸이클 구하기 left, right = [], [] for i in range(0, n, 2): left.append(arr2[i]) for i in range(n - 1 - status, -1, -2): righ..

article thumbnail
[ 백준 / G5 / 파이썬 Python ] 9011번 순서

링크 : https://www.acmicpc.net/problem/9011 9011번: 순서 n개의 정수로 된 순서 S= (s1, s2, ..., sn)가 있다. 여기서 si ≠ sj이고, 1 ≤ si ≤ n이다. S로부터 새로운 순서 R = (r1, r2, ..., rn)을 얻을 수 있는데, 여기서 ri는 S의 부분 순서 {s1, s2, ..., si-2, si-1} 중에서 www.acmicpc.net 코드 import sys input = sys.stdin.readline # 시간을 4ms 줄여줌ㅋㅋ def solution(n, arr): answer = [0] * n v = list(range(1,n+1)) for i in range(n-1,-1,-1): to = arr[i] if to >= len..

article thumbnail
[ 백준 / G2 / 파이썬 Python ] 13334번 파이썬

링크 : https://www.acmicpc.net/problem/13334 13334번: 철로 입력은 표준입력을 사용한다. 첫 번째 줄에 사람 수를 나타내는 양의 정수 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 n개의 각 줄에 정수 쌍 (hi, oi)가 주어진다. 여기서 hi와 oi는 −100,000,000이상, 100,000,0 www.acmicpc.net 코드 from heapq import heappop,heappush n = int(input()) arr = sorted([sorted(list(map(int,input().split()))) for _ in range(n)], key=lambda x: x[1]) d = int(input()) answer = 0 heap = [] for..

article thumbnail
[ 백준 / G3 / 파이썬 Python ] 2533번 사회망 서비스(SNS)

링크 : https://www.acmicpc.net/problem/2533 2533번: 사회망 서비스(SNS) 첫 번째 줄에는 친구 관계 트리의 정점 개수 N이 주어진다. 단, 2 ≤ N ≤ 1,000,000이며, 각 정점은 1부터 N까지 일련번호로 표현된다. 두 번째 줄부터 N-1개의 줄에는 각 줄마다 친구 관계 트리의 에 www.acmicpc.net 코드 from collections import defaultdict n = int(input()) link = defaultdict(list) for _ in range(n-1): u,v = map(int,input().split()) link[u].append(v) link[v].append(u) leaf = [i for i in range(1,n+1..

article thumbnail
[ 백준 / G4 / 파이썬 Python ] 팀배분

링크 : https://www.acmicpc.net/problem/1953 1953번: 팀배분 첫줄에는 청팀의 사람의 수를 출력하고, 그리고 둘째 줄에는 청팀에 속한 사람들을 오름차순으로 나열한다. 그리고 셋째 줄과 넷째 줄은 위와 같은 방법으로 백팀에 속한 인원의 수, 백팀에 속 www.acmicpc.net 코드 def dfs(idx, t): result[idx],visit[idx] = t,1 for i in [x for x in range(n) if hater[idx][x] == 1 and visit[x] == 0]: dfs(i, -t) n = int(input()) hater = [[0] * n for i in range(n)] for i in range(n): m,*arr = list(map(in..

article thumbnail
[ 백준 / P5 / 파이썬 Python ] 정점들의 거리

링크 : https://www.acmicpc.net/problem/1761 1761번: 정점들의 거리 첫째 줄에 노드의 개수 N이 입력되고 다음 N-1개의 줄에 트리 상에 연결된 두 점과 거리를 입력받는다. 그 다음 줄에 M이 주어지고, 다음 M개의 줄에 거리를 알고 싶은 노드 쌍이 한 줄에 한 쌍씩 www.acmicpc.net 코드 from collections import defaultdict from heapq import heappop,heappush def LCS(a,b): while (da := depth[a]) != (db:=depth[b]): if da > db: a = parent[a] continue b = parent[b] while a != b: a,b = parent[a],pare..

article thumbnail
[ 백준 / G4 / Pypy3 ] 15961번 - 회전초밥

링크 : https://www.acmicpc.net/problem/15961 15961번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 3,000,000, 2 ≤ d ≤ 3,000, 2 www.acmicpc.net 코드 from collections import defaultdict n,d,k,c = map(int,input().split()) sushi = [int(input()) for _ in range(n)] answer,res = 0,0 kind = defaultdict(int) for start in range(n+k): idx = start ..

article thumbnail
[ 백준 / G2 / 파이썬 Python ] 리그 오브 레게노

링크 : https://www.acmicpc.net/problem/23059 23059번: 리그 오브 레게노 첫째 줄에는 백남이가 알고 있는 아이템 사이의 관계의 수 $N$(1 ≤ $N$ ≤ 200,000)를 입력받는다. $N$개의 줄에 걸쳐서 아이템 이름을 의미하는 문자열 2개 A B가 주어진다. 아이템 A는 아이템 B를 구 www.acmicpc.net 코드 from collections import defaultdict from heapq import heappop,heappush n = int(input()) item = defaultdict(list) # a를 사면 b를 살 수 있다. depth = defaultdict(int) allItem = set() for _ in range(n): a,b..

article thumbnail
[ 백준 / G2 / Python 파이썬 ] 네트워크 복구

링크 : https://www.acmicpc.net/problem/2211 2211번: 네트워크 복구 첫째 줄에 두 정수 N, M이 주어진다. 다음 M개의 줄에는 회선의 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 컴퓨터와 B번 컴퓨터가 통신 시간이 C (1 ≤ C ≤ 10)인 회선으로 연결되어 있다 www.acmicpc.net 코드 import sys input = sys.stdin.readline from collections import defaultdict from heapq import heappop,heappush n,m = map(int,input().split()) graph = defaultdict(list) for _ in range(m): a,b,c = map(int..