Github & Portfolio
๐ Problem Solving(119)
-
[๋ฐฑ์ค-9461] ํ๋๋ฐ ์์ด / Python
9461๋ฒ: ํ๋๋ฐ ์์ด ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ผ๊ฐํ์ด ๋์ ๋ชจ์์ผ๋ก ๋์ฌ์ ธ ์๋ค. ์ฒซ ์ผ๊ฐํ์ ์ ์ผ๊ฐํ์ผ๋ก ๋ณ์ ๊ธธ์ด๋ 1์ด๋ค. ๊ทธ ๋ค์์๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ผ๋ก ์ ์ผ๊ฐํ์ ๊ณ์ ์ถ๊ฐํ๋ค. ๋์ ์์ ๊ฐ์ฅ ๊ธด ๋ณ์ www.acmicpc.net for _ in range(int(input())): n = int(input()) d = [0] * 101 d[1], d[2], d[3], d[4] = 1, 1, 1, 2 for i in range(5, n + 1): d[i] = d[i - 2] + d[i - 3] print(d[n]) ํด์ค ๊ท์น๋ง ์๋ฉด ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ dp๋ฌธ์ ์๋ค. 2์นธ๊ณผ 3์นธ ์ด์ ์ ๊ฐ์ ํฉํ ๊ฐ์ด ํ์ฌ ๊ฐ์ด ๋๋ค.
-
[๋ฐฑ์ค-11279] ์ต๋ ํ / Python
11279๋ฒ: ์ต๋ ํ ์ฒซ์งธ ์ค์ ์ฐ์ฐ์ ๊ฐ์ N(1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์๋ ์ฐ์ฐ์ ๋ํ ์ ๋ณด๋ฅผ ๋ํ๋ด๋ ์ ์ x๊ฐ ์ฃผ์ด์ง๋ค. ๋ง์ฝ x๊ฐ ์์ฐ์๋ผ๋ฉด ๋ฐฐ์ด์ x๋ผ๋ ๊ฐ์ ๋ฃ๋(์ถ๊ฐํ๋) ์ฐ์ฐ์ด๊ณ , x๊ฐ www.acmicpc.net import sys import heapq q = [] for _ in range(int(sys.stdin.readline())): num = int(sys.stdin.readline()) if not q and num == 0: print(0) else: if num == 0: print(-heapq.heappop(q)) else: heapq.heappush(q, -num) ํด์ค heapq๋ ์ต์ ํ๋ง ์ง์ํ๊ธฐ ๋๋ฌธ์ ์ต๋ ํ์ ๊ตฌํํ๋ ค๋ฉด ์..
-
[๋ฐฑ์ค-9375] ํจ์ ์ ์ ํด๋น / Python
9375๋ฒ: ํจ์ ์ ์ ํด๋น ์ฒซ ๋ฒ์งธ ํ ์คํธ ์ผ์ด์ค๋ headgear์ ํด๋นํ๋ ์์์ด hat, turban์ด๋ฉฐ eyewear์ ํด๋นํ๋ ์์์ด sunglasses์ด๋ฏ๋ก (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)๋ก ์ด 5๊ฐ์ง ์ด๋ค. www.acmicpc.net import sys def func(clothes): dic = {} for i in clothes: if i[1] in dic: dic[i[1]] += 1 else: dic[i[1]] = 1 cnt = 1 for i in dic.values(): cnt *= i + 1 return cnt - 1 for _ in range(int(sys.stdin.readline()))..
-
[๋ฐฑ์ค-6064] ์นด์ ๋ฌ๋ ฅ / Python
6064๋ฒ: ์นด์ ๋ฌ๋ ฅ ์ ๋ ฅ ๋ฐ์ดํฐ๋ ํ์ค ์ ๋ ฅ์ ์ฌ์ฉํ๋ค. ์ ๋ ฅ์ T๊ฐ์ ํ ์คํธ ๋ฐ์ดํฐ๋ก ๊ตฌ์ฑ๋๋ค. ์ ๋ ฅ์ ์ฒซ ๋ฒ์งธ ์ค์๋ ์ ๋ ฅ ๋ฐ์ดํฐ์ ์๋ฅผ ๋ํ๋ด๋ ์ ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ๋ฐ์ดํฐ๋ ํ ์ค๋ก ๊ตฌ์ฑ๋๋ค. www.acmicpc.net import sys def func(m, n, x, y): while x
-
[๋ฐฑ์ค-5525] IOIOI / Python
5525๋ฒ: IOIOI ์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ S์ ๊ธธ์ด M์ด ์ฃผ์ด์ง๋ฉฐ, ์ ์งธ ์ค์ S๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 1,000,000, 2N+1 ≤ M ≤ 1,000,000) www.acmicpc.net import sys n = int(sys.stdin.readline()) m = int(sys.stdin.readline()) s = sys.stdin.readline() answer, pattern, i = 0, 0, 1 while i < m - 1: if s[i - 1] == "I" and s[i] == "O" and s[i + 1] == "I": pattern += 1 if pattern == n: answer += 1 pattern -= 1 i += 1 else: pattern =..
-
[๋ฐฑ์ค-2667] ๋จ์ง๋ฒํธ๋ถ์ด๊ธฐ / Python
2667๋ฒ: ๋จ์ง๋ฒํธ๋ถ์ด๊ธฐ ๊ณผ ๊ฐ์ด ์ ์ฌ๊ฐํ ๋ชจ์์ ์ง๋๊ฐ ์๋ค. 1์ ์ง์ด ์๋ ๊ณณ์, 0์ ์ง์ด ์๋ ๊ณณ์ ๋ํ๋ธ๋ค. ์ฒ ์๋ ์ด ์ง๋๋ฅผ ๊ฐ์ง๊ณ ์ฐ๊ฒฐ๋ ์ง์ ๋ชจ์์ธ ๋จ์ง๋ฅผ ์ ์ํ๊ณ , ๋จ์ง์ ๋ฒํธ๋ฅผ ๋ถ์ด๋ ค ํ๋ค. ์ฌ www.acmicpc.net from collections import deque n = int(input()) graph = [] for _ in range(n): graph.append(list(map(int, input()))) answer = [] dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] def bfs(x, y): queue = deque() queue.append((x, y)) graph[x][y] = 0 cnt = 0 while queue: x, y = ..