๐ฑ Algorithm/Else(18)
-
๋ฐฑ์ค 1662 ์์ถ ํ์ด์ฌ
1662๋ฒ: ์์ถ ์์ถ๋์ง ์์ ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ก์ ๋, ์ด ๋ฌธ์์ด์ค ์ด๋ค ๋ถ๋ถ ๋ฌธ์์ด์ K(Q)์ ๊ฐ์ด ์์ถ ํ ์ ์๋ค. K๋ ํ์๋ฆฌ ์ ์์ด๊ณ , Q๋ 0์๋ฆฌ ์ด์์ ๋ฌธ์์ด์ด๋ค. ์ด Q๋ผ๋ ๋ฌธ์์ด์ด K๋ฒ ๋ฐ๋ณต๋๋ค๋ ๋ป์ด www.acmicpc.net ๋ด๊ฐ ์ง ์ฝ๋ (๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ) string = list(input()) input_stack = [] output_stack = [] for s in string: if s == ")": iter_num = -1 while 1: input_top = input_stack.pop() if input_top != "(": output_stack.append(input_top) else: iter_num = input_stack.pop() break input_..
2023.03.01 -
๋ฐฑ์ค 2470 ๋ ์ฉ์ก ํ์ด์ฌ
2470๋ฒ: ๋ ์ฉ์ก ์ฒซ์งธ ์ค์๋ ์ ์ฒด ์ฉ์ก์ ์ N์ด ์ ๋ ฅ๋๋ค. N์ 2 ์ด์ 100,000 ์ดํ์ด๋ค. ๋์งธ ์ค์๋ ์ฉ์ก์ ํน์ฑ๊ฐ์ ๋ํ๋ด๋ N๊ฐ์ ์ ์๊ฐ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. ์ด ์๋ค์ ๋ชจ๋ -1,000,000,000 ์ด์ 1,000,00 www.acmicpc.net โญ๏ธ ์ฌ๊ณ ๊ณผ์ ์๋ก ๋ค๋ฅธ 2๊ฐ์ ์ฉ์ก -> ์ ํฌ์ธํธ๋ 2๊ฐ numbers ์ ์ต๋ ๊ธธ์ด๋ 10๋ง -> ์ฆ ์กฐํฉ์ ์๊ฐ์ด๊ณผ ๋ ์๋ฅผ ๋ํ์ ๋ ๊ฐ์ฅ 0์ ๊ฐ๊น๊ฒ. ํฌ๊ฑด ์๊ฑด ์๊ด์์ด ๋ ์์ ํฉ์ด 0์ ๊ฐ๊น์ฐ๋ฉด ๋๋ค. ๋ธ๋ฃจํธํฌ์ค ์๋ผ ๐ solved point ์ ๋ ฌํ ๋ ์ ๋๊ฐ์ด ์์ ์์๋๋ก ์ ๋ ฌํด์ผํ๋ค. ๊ทธ๋ ๊ฒ ํ๋ฉด ์๋ก ์ฐจ์ด๊ฐ ๋น์ทํ ๊ฒ๋ผ๋ฆฌ ๋ชจ์. ์ด๋ป๊ฒ ์ ๋๊ฐ์ด ์์ ์์๋๋ก ์ ์ฅํ ์ ์๋๋ฐ? -> lambda bab..
2023.01.29 -
๋ฐฑ์ค 1527 ๊ธ๋ฏผ์์ ๊ฐ์ ํ์ด์ฌ
https://www.acmicpc.net/problem/1527 1527๋ฒ: ๊ธ๋ฏผ์์ ๊ฐ์ ์ฒซ์งธ ์ค์ A์ B๊ฐ ์ฃผ์ด์ง๋ค. A๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 1,000,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. B๋ A๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 1,000,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. www.acmicpc.net ๋ธ๋ฃจํธ ํฌ์ค ๋์๊ฐ ์ด์ด ๋๊ธธ๋ permutation ์ผ๋ก ์ฒจ์ ์ ๊ทผํ๋ค. ์ด์ผ ์ ๊ทผํ๋๋ฉด, ์ ๋ ฅ๋ ์์ ๊ธธ์ด ๋งํฐ [4] ์ [7] ๋ฐฐ์ด์ ๋๋ฆผ. ๋๋ฆฐ [4] , [7] ๋ฐฐ์ด์ ํฉ์นจ. -> [4] * len(์ธํ๊ฐ) + [7] * len(์ธํ๊ฐ) ํฉ์ณ์ง ๋ฐฐ์ด์ permutations ์ ๋ฃ๊ณ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํจ. ๋น์ฐํ ์๊ฐ ์ด๊ณผ๋จ... ๋ถํ์ํ๊ฒ 4 ์ 7 ๋ฐฐ์ด์ ๋๋ ค๋์๊ฒ ์๊ฐ์ด๊ณผ์ ์์ธ์ด์..
2022.12.30 -
๋ฐฑ์ค 1895 ํํฐ ํ์ด์ฌ
1895๋ฒ: ํํฐ ์ซ์ 9๊ฐ๊ฐ ์ค๋ฆ์ฐจ์์ด๋ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ๋์ด ์์ ๋, ์ค์๊ฐ์ ๋ค์ฏ ๋ฒ์งธ ์ซ์์ด๋ค. ์๋ฅผ ๋ค์ด, 1, 3, 4, 1, 2, 6, 8, 4, 10์ ์ค์๊ฐ์ 4์ด๋ค. (1 ≤ 1 ≤ 2 ≤ 3 ≤ 4 ≤ 4 ≤ 6 ≤ 8 ≤ 10) ์ด๋ฏธ์ง I๋ www.acmicpc.net R, C = map(int, input().split()) board = [list(map(int, input().split())) for r in range(R)] T = int(input()) def get_median(arr: list): arr.sort() return arr[4] moveC = C - 2 moveR = R - 2 result = [] for mr in range(moveR): for mc i..
2022.12.21 -
๋ฐฑ์ค ์์ด 2559๋ฒ ํ์ด์ฌ
https://www.acmicpc.net/problem/2559 2559๋ฒ: ์์ด ์ฒซ์งธ ์ค์๋ ๋ ๊ฐ์ ์ ์ N๊ณผ K๊ฐ ํ ๊ฐ์ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ฒซ ๋ฒ์งธ ์ ์ N์ ์จ๋๋ฅผ ์ธก์ ํ ์ ์ฒด ๋ ์ง์ ์์ด๋ค. N์ 2 ์ด์ 100,000 ์ดํ์ด๋ค. ๋ ๋ฒ์งธ ์ ์ K๋ ํฉ์ ๊ตฌํ๊ธฐ www.acmicpc.net ํ์ด deque ์ ์ด์ฉํด ํ์๋ค. ๋ค๋ฅธ ๋ถ๋ค์ ํฌํฌ์ธํฐ ๋ฑ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋๋ฐ ๋๋ deque ์ด ๊ฐ์ฅ ์ง๊ด์ ์ด๋ผ ๋๊ปด์ก๋ค. ์ฐ์ ๊ฐ์ฅ ๋จ์ํ๊ฒ ์ ๊ทผํ๋ฉด ๋ฆฌ์คํธ ์ฌ๋ผ์ด์ฑ์ ๋จผ์ ๋ ์ฌ๋ฆด ์ ์๋ค. ํ์ง๋ง ์ ๋ ฅ์ ์ต๋ ํฌ๊ธฐ๊ฐ ์ญ๋ง์ด๊ธฐ ๋๋ฌธ์ ๋น์ฐํ ์๊ฐ์ด๊ณผ ๋ฌธ์ ๊ฐ ํฐ์ง๋ค. ์ด์ ๋๋ฉด b๊ธ ์ํ์ ๋ปํ ์๋์์ค๋ณด๋ค ๋ ๋ปํ ์ ๊ฐ๊ฐ ์๋ ์ ์๋ค. ํด๋ฆฌ์ ฐ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ๋๋ deque ๋ฅผ ..
2022.07.12 -
๋ฐฑ์ค 2346 ํ์ ํฐ๋จ๋ฆฌ๊ธฐ ํ์ด์ฌ
https://www.acmicpc.net/problem/2346 2346๋ฒ: ํ์ ํฐ๋จ๋ฆฌ๊ธฐ 1๋ฒ๋ถํฐ N๋ฒ๊น์ง N๊ฐ์ ํ์ ์ด ์ํ์ผ๋ก ๋์ฌ ์๊ณ . i๋ฒ ํ์ ์ ์ค๋ฅธ์ชฝ์๋ i+1๋ฒ ํ์ ์ด ์๊ณ , ์ผ์ชฝ์๋ i-1๋ฒ ํ์ ์ด ์๋ค. ๋จ, 1๋ฒ ํ์ ์ ์ผ์ชฝ์ N๋ฒ ํ์ ์ด ์๊ณ , N๋ฒ ํ์ ์ ์ค๋ฅธ์ชฝ์ 1๋ฒ ํ์ www.acmicpc.net ํต์ฌ ์ด ๋ฌธ์ ๋ฅผ ์ฝ๊ฒ ํ ์ ์๋ ํต์ฌ์ deque() ์๋ฃํ์ rotate() ๋ฉ์๋๋ค. rotate(n)๋ deque ์ ๋ด์ฅํจ์๋ก, n ์ด ์์๋ฉด ์ฐ์ธก์ผ๋ก, ์์๋ฉด ์ข์ธก์ผ๋ก ํ์ ํ๋ค๊ณ ๋ณผ ์ ์๋ค. ์ฝ๋ import sys from collections import deque input = sys.stdin.readline n = int(input()) q = deque(e..
2022.07.04 -
๋ฐฑ์ค 16953 ํ์ด์ฌ
https://www.acmicpc.net/problem/16953 16953๋ฒ: A → B ์ฒซ์งธ ์ค์ A, B (1 ≤ A target: continue else: queue.append((num * 2, c..
2022.01.25 -
๋ฐฑ์ค 2003 ํ์ด์ฌ
https://www.acmicpc.net/problem/2003 2003๋ฒ: ์๋ค์ ํฉ 2 ์ฒซ์งธ ์ค์ N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ ์ค์๋ A[1], A[2], …, A[N]์ด ๊ณต๋ฐฑ์ผ๋ก ๋ถ๋ฆฌ๋์ด ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ A[x]๋ 30,000์ ๋์ง ์๋ ์์ฐ์์ด๋ค. www.acmicpc.net ์ฌ๊ณ ๊ณผ์ 1. M ์ด๋ ๋งค์นญ๋ ๋๊น์ง ์ฐจ๋ก๋ก ๋ํ๊ฑฐ๋ 2. M ๋ณด๋ค ์ปค์ง๋ฉด break 3. ์ด๋ป๊ฒ M ์ ๋ง์ถ๋๋๋ ๊ด์ฌ์๋ค. ์ฐ์๋ ์ซ์์ ๋ช๊ฐ์ง ๊ฒฝ์ฐ๊ฐ M ์ ๋ง์ถ๋์ง๊ฐ ์ค์. ์ ๋ต ์ฝ๋ from sys import stdin N, M = map(int, stdin.readline().split()) arr = list(map(int, stdin.re..
2022.01.07 -
๋ฐฑ์ค 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