๐ฑ Algorithm(53)
-
๋ฐฑ์ค 1931 ํ์ด์ฌ
1931๋ฒ: ํ์์ค ๋ฐฐ์ (1,4), (5,7), (8,11), (12,14) ๋ฅผ ์ด์ฉํ ์ ์๋ค. www.acmicpc.net ์ ๋ต ์ฝ๋ from sys import stdin import heapq read = stdin.readline N = int(read()) heap = [] result = [] for _ in range(N): a, b = map(int, read().split()) result.append((a, b)) result = sorted(result, key=lambda x: x[0]) result = sorted(result, key=lambda x: x[1]) count, last = 0, 0 for start, end in result: if start >= last: c..
2022.01.05 -
๋ฐฑ์ค 11000 ํ์ด์ฌ
11000๋ฒ: ๊ฐ์์ค ๋ฐฐ์ ์ฒซ ๋ฒ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 200,000) ์ดํ N๊ฐ์ ์ค์ Si, Ti๊ฐ ์ฃผ์ด์ง๋ค. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net ์ ๋ต ์ฝ๋ from sys import stdin import heapq read = stdin.readline N = int(read()) heap = [] result = [] for _ in range(N): a, b = map(int, read().split()) result.append((a, b)) result.sort() # time ์ ๋ ฌ์ํ heapq.heappush(heap, result[0][1]) # ์ฒซ๋ฒ์งธ ์์ ๋๋๋ ์๊ฐ๋ถํฐ ๋ค์ด๊ฐ ์๋ค. for i in range(1, N): if he..
2022.01.04 -
๋ฐฑ์ค 10830 ํ์ด์ฌ
10830๋ฒ: ํ๋ ฌ ์ ๊ณฑ ํฌ๊ธฐ๊ฐ N*N์ธ ํ๋ ฌ A๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋, A์ B์ ๊ณฑ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๊ฐ ๋งค์ฐ ์ปค์ง ์ ์์ผ๋, A^B์ ๊ฐ ์์๋ฅผ 1,000์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค. www.acmicpc.net ํ์ง ๋ชปํ ์ด์ 1. ํ๋ ฌ ๊ณฑ์ ์ฝ๋๋ก ํ์ด๋ด์ง ๋ชปํจ. 2. ์ฌ๊ท๋ฅผ ์ ์ ํ ํ์ฉํ์ง ๋ชปํจ 3. ์ฌ๊ท ํ์ถ ์กฐ๊ฑด ๋ง์ด๋ผ๋ ์์๋ค๋ฉด ํ์ด์ ์ ๊ทผํ ์ ์์์ 4. ๋ง์ง๋ง ์กฐ๊ฑด (1000 ์ดํ) ์ ์ ์ ํ ๋์ฒํ์ง ๋ชปํจ. ํ์ด ์ด ๋ฌธ์ ์ ํต์ฌ์ DP ๋ผ๊ณ ํ๋๋ฐ, ์ฌ์ค ํ๋ ฌ์ ๊ณฑ์ ์ ์ฝ๋๋ก ํ์ด๋ด๋ ๊ฒ ์ญ์ ํต์ฌ์ด๋ผ๊ณ ์๊ฐํ๋ค. ํ๋ ฌ์ ๊ณฑ์ ์ ์ด๋ฐ์์ผ๋ก ์งํ๋๋ค. (1, 3) x (3, 1) ์ฒ๋ผ ์ ํ๋ ฌ์ ๋๋ฒ์งธ ์ขํ(3) ์ ๋ท ํ๋ ฌ์ ์ฒซ๋ฒ์งธ ์ขํ(3) ๊ฐ ๊ฐ์์ผ ํ๋ ฌ์ ๊ณฑ์ด ์ด..
2021.12.26 -
ํ๋ก๊ทธ๋๋จธ์ค [lv2] ๋ชจ์์ฌ์ ํ์ด์ฌ
๐ ์ ๊ทผ 1. A, E, I, O, U ์ ์ค๋ณต์ ํ์ฉํ๋ฉฐ ๋ชจ๋ ๊ฒฝ์ฐ์ ์์ด(permutation)์ ๋ง๋ค์ด ๋ธ๋ค. 2. ๊ฐ ๋ชจ์์ ์กฐํฉ์ด 1๊ฐ์ง์ธ ๊ฒฝ์ฐ, 2๊ฐ์ง์ธ ๊ฒฝ์ฐ, ... 5๊ฐ์ง์ธ ๊ฒฝ์ฐ, ์ด๋ ๊ฒ ๊ฐ๊ฐ์ ๊ฒฝ์ฐ์ ๋ง๋ ๋ชจ๋ ์กฐํฉ์ ๋ง๋ค์ด์ผํ๋ค. 2 - 1. ์๋ฅผ ๋ค์ด ์กฐํฉ์ด 5๊ฐ์ง์ธ ๊ฒฝ์ฐ๋, AEIOU ๋ฟ๋ง์ด ์๋๋ผ (์ค๋ณต ํ์ฉํ๊ธฐ ๋๋ฌธ์) AAAAA, EEEEE ... UUUUU ๊ฐ์ ๊ฒฝ์ฐ๋ ์กด์ฌํ๋ค. 2 - 2. ๋๋ฌธ์ ๋จ์ permutation ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ์๋๋ค. 3. ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๋ค(์ํ ). ๊ฒฐ๋ก : ์ฌ์ค์, A, E, I, O, U ๋ฅผ ์กฐํฉํ์ฌ, ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ์ซ ํผ์น ํ ์ํ . โ permutation ์ผ๋ก ์ ๊ทผํ์ ๋ (์ค๋ต) from itertools import product, ..
2021.10.07 -
ํ๋ก๊ทธ๋๋จธ์ค [lv3] floodfill ํ์ด์ฌ
๐น ์ฝ๋ from collections import deque def solution(n, m, images): directions = [(1, 0), (0, 1), (-1, 0), (0, -1)] answer = 0 for r in range(n): for c in range(m): if images[r][c] == -1: continue # continue ์ pass color = images[r][c] queue = deque([(r, c)]) while queue: y, x = queue.popleft() for ny, nx in directions: py = ny + y px = nx + x if (0
2021.09.01 -
ํ๋ก๊ทธ๋๋จธ์ค [lv2] ์ฟผ๋์์ถ ํ ๊ฐ์ ์ธ๊ธฐ ํ์ด์ฌ
https://programmers.co.kr/learn/courses/30/lessons/68936 ๐ ์ฝ๋ // ๋ค๋ฅธ ๋ถ ํ์ด ์ฐธ์กฐ def solution(arr): N = len(arr) answer = [0, 0] def compress(x, y, N): init = arr[x][y] for r in range(x, x + N): for c in range(y, y + N): if arr[r][c] != init: N //= 2 compress(x, y, N) compress(x, y + N, N) compress(x + N, y, N) compress(x + N, y + N, N) return answer[init] += 1 compress(0, 0, N) return answer ๐ ์ ๊ทผ ๋ฐฉ๋ฒ..
2021.08.31 -
ํ๋ก๊ทธ๋๋จธ์ค [lv2] ๋ฐฉ๋ฌธ๊ธธ์ด ํ์ด์ฌ
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ฐฉ๋ฌธ ๊ธธ์ด programmers.co.kr ๐ป ์ฝ๋ def solution(dirs): result = [0, 0] route = {} dir_dict = { "U": [0, 1], "D": [0, -1], "L": [-1, 0], "R": [1, 0], } for dir in dirs: if (-5
2021.08.29 -
ํ๋ก๊ทธ๋๋จธ์ค [lv2] ๋ฉ๋ด ๋ฆฌ๋ด์ผ ํ์ด์ฌ
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ฉ๋ด ๋ฆฌ๋ด์ผ ๋ ์คํ ๋์ ์ด์ํ๋ ์ค์นดํผ๋ ์ฝ๋ก๋19๋ก ์ธํ ๋ถ๊ฒฝ๊ธฐ๋ฅผ ๊ทน๋ณตํ๊ณ ์ ๋ฉ๋ด๋ฅผ ์๋ก ๊ตฌ์ฑํ๋ ค๊ณ ๊ณ ๋ฏผํ๊ณ ์์ต๋๋ค. ๊ธฐ์กด์๋ ๋จํ์ผ๋ก๋ง ์ ๊ณตํ๋ ๋ฉ๋ด๋ฅผ ์กฐํฉํด์ ์ฝ์ค์๋ฆฌ ํํ๋ก ์ฌ๊ตฌ์ฑํด์ programmers.co.kr ๐ป ์ฝ๋ from itertools import combinations from collections import Counter def solution(orders, course): answer = [] for n in course: # ์๊ฐ ๋จผ์ ๋์์ผ ํ๋ ์ด์ ๋, ๊ฐฏ์๋ณ ์ต๊ฐ์๋ฅผ ๋จผ์ ๊ณจ๋ผ๋ด์ผํ๊ธฐ ๋๋ฌธ temp = [] for order in orders: for combination in combinations(order, n): temp.append(''..
2021.08.29 -
ํ๋ก๊ทธ๋๋จธ์ค [lv2] ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ ํ์ด์ฌ
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr ๐ ์ ๊ทผ ์ฐ์ ์ธ๊ฐ์ง ํจ์๋ก ๋๋์ด ์ ๊ทผํ์ต๋๋ค. 1) ๊ฐ matrix๋ฅผ ์ํ 2) ์ํ๋ฅผ ํ๋ฉด์ ๋๊ธฐ์ค์ ๋ฒ์ ๋ด๋ถ๋ง ํ์ํ๋๋ก 3) ๊ฑฐ๋ฆฌ๋๊ธฐ๋ฅผ ์ง์ผฐ๋์ง -> main ์ด ๋๋ ์๊ณ ๋ฆฌ์ฆ ์ฝ๋..
2021.08.03