๐๋ฌธ์ ํ์ด
[Python] ๋ฐฑ์ค 2579 ๊ณ๋จ ์ค๋ฅด๊ธฐ | DP
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/2579 2579๋ฒ: ๊ณ๋จ ์ค๋ฅด๊ธฐ ๊ณ๋จ ์ค๋ฅด๊ธฐ ๊ฒ์์ ๊ณ๋จ ์๋ ์์์ ๋ถํฐ ๊ณ๋จ ๊ผญ๋๊ธฐ์ ์์นํ ๋์ฐฉ์ ๊น์ง ๊ฐ๋ ๊ฒ์์ด๋ค. ๊ณผ ๊ฐ์ด ๊ฐ๊ฐ์ ๊ณ๋จ์๋ ์ผ์ ํ ์ ์๊ฐ ์ฐ์ฌ ์๋๋ฐ ๊ณ๋จ์ ๋ฐ์ผ๋ฉด ๊ทธ ๊ณ๋จ์ ์ฐ์ฌ ์๋ ์ www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ์ต๋ 300๊ฐ ๊ณ๋จ์ ์ ์๋ฅผ ๊ธฐ๋กํ ๋ฐฐ์ด ๋ฏธ๋ฆฌ ์ ์ธ - ๊ณ๋จ ๋ณ ์ ์ ๊ธฐ๋ก ๋ฐฐ์ด๊ณผ dp ๊ธฐ๋ก์ ์ ์ฅํ ๋ฐฐ์ด 2๊ฐ ํ์ - ๊ณ๋จ 1 : ๋ณธ์ธ ์ ์ ๊ณ๋จ 2 : ๊ณ๋จ 1 + ๋ณธ์ธ ์ ์ ๊ณ๋จ 3 : max(๊ณ๋จ 1 + ๋ณธ์ธ , ๊ณ๋จ 2 + ๋ณธ์ธ) - ์ ํ์ : max( ๋ณธ์ธ ์ด์ ๊ณ๋จ ๋ฐ๊ณ ๋ณธ์ธ , ๋ณธ์ธ ์ด์ ๊ณ๋จ ๋ฐ์ง ์๊ณ ๋ณธ์ธ) ai = ma..
[Python] ๋ฐฑ์ค 1966 ํ๋ฆฐํฐ ํ
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/1966 1966๋ฒ: ํ๋ฆฐํฐ ํ ์ฌ๋ฌ๋ถ๋ ์๋ค์ํผ ์ฌ๋ฌ๋ถ์ ํ๋ฆฐํฐ ๊ธฐ๊ธฐ๋ ์ฌ๋ฌ๋ถ์ด ์ธ์ํ๊ณ ์ ํ๋ ๋ฌธ์๋ฅผ ์ธ์ ๋ช ๋ น์ ๋ฐ์ ‘์์๋๋ก’, ์ฆ ๋จผ์ ์์ฒญ๋ ๊ฒ์ ๋จผ์ ์ธ์ํ๋ค. ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์๊ฐ ์์ธ๋ค๋ฉด Queue ์๋ฃ๊ตฌ์กฐ์ www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ์๋ฃ๊ตฌ์กฐ ํ - ์์๋ฅผ ๋ํ๋ด๋ ๋๊ฐ์ ๋ณ์๋ฅผ ์ ๊ตฌ๋ถํ์ฌ ์ธ์งํ์ฌ์ผํ๋ค. * ๋จ์ ์ฐ์ ์์ ์ค ์ต๋๊ฐ์ด๋ฏ๋ก ์ถ๋ ฅํ๋ ์์ * ์ด๊ธฐ ํ์ ๊ฐ ๋ฌธ์ ์์ - ํ์ (์ค์๋, ์์น) ๊ฐ์ ์ฝ์ ํ๋ค. ์์น๊ฐ์ ์ฝ์ ํ๋ ์ด์ ๋ M๊ณผ ๋น๊ตํ์ฌ ์ฐพ๋ ๋ฌธ์์ธ์ง ํ์ธํ๊ธฐ ์ํจ - ์ด๊ธฐ ํ๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค. ๋งค๋ฒ ํ์ ์ต๋๊ฐ์ ๊ตฌํ๋ ๊ฒ๋ณด๋ค..
[Python] ๋ฐฑ์ค 16953 A -> B | ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ | BFS
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/16953 16953๋ฒ: A → B ์ฒซ์งธ ์ค์ A, B (1 ≤ A < B ≤ 109)๊ฐ ์ฃผ์ด์ง๋ค. www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ, BFS - ์ ๋ ฅ ๊ฐ์ ๋ํด์ ๋๊ฐ์ ์ฐ์ฐ์ ์ฐ์์ ์ผ๋ก ์ํํจ์ผ๋ก ๋ชจ๋ ๊ฒฝ์ฐ์ ์ ํ์ธ - ์ํ๋ ๊ฐ์ด ๋ฐ๊ฒฌ๋๋ฉด ์ถ๋ ฅ ํ ์ฆ์ ์ข ๋ฃ( ๊ฐ์ฅ ๋จผ์ ๋ฐ๊ฒฌ๋๋ ์ฐ์ฐ ํ์๊ฐ ๊ฐ์ฅ ์์ ์ฐ์ฐ์ด๋ฏ๋ก) : ๊ทธ๋ฆฌ๋ - ์ฐ์ฐ ๊ฐ์ด ํ์ผ ๊ฐ๋ณด๋ค ํฌ๋ค๋ฉด ํด๋น ์๋ธ ํธ๋ฆฌ์ ๋ํด์ ๋์ด์ ํ์ํ์ง ์๋๋ก ํ๋ค. ์์ฑ ์ฝ๋ from collections import deque a, b = map(int, input().split()) que = deque() #..
[Python] ๋ฐฑ์ค 1003 ํผ๋ณด๋์น ํจ์ | DP
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/1003 1003๋ฒ: ํผ๋ณด๋์น ํจ์ ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค 0์ด ์ถ๋ ฅ๋๋ ํ์์ 1์ด ์ถ๋ ฅ๋๋ ํ์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํ๋ค. www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - DP - ์ ๋ ฅ๊ฐ(1~40) ์ ๋ฐ๋ผ 0๊ณผ 1์ด ๋ถ๋ฆฐ ํ์๋ฅผ ์ ํ์์ ์ด์ฉํ์ฌ ๊ตฌํ ์ ์๋ค - ์ ๋ ฅ๊ฐ 0์ 0์ด 1ํ/1์ด 0ํ ๋ถ๋ฆฐ๋ค. ์ ๋ ฅ๊ฐ 1์ 0์ด 0ํ/1์ด 1ํ ๋ถ๋ฆฐ๋ค. - ์ ๋ ฅ๊ฐ์ด 2๋ผ๋ฉด f(2) = f(1) + f(0) ์ด๋ฏ๋ก 1์ด ํ ๋ฒ, 0์ด ํ ๋ฒ ๋ถ๋ฆฐ๋ค. - ์ ๋ ฅ๊ฐ์ด 3์ด๋ผ๋ฉด f(3) = f(2) + f(1) ์ด๋ฏ๋ก f(2) ์คํ์ 1ํ ๋ฒ, 0 ํ ๋ฒ ๋ถ๋ฆฐ ๊ฒ๊ณผ 1์ด ํ ๋ฒ ๋ถ๋ฆฐ ๊ฒ์ ๋ํ๋ฉด 1์ด 2๋ฒ..
[Python] ๋ฐฑ์ค 9095 1, 2, 3 ๋ํ๊ธฐ | DP
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/9095 9095๋ฒ: 1, 2, 3 ๋ํ๊ธฐ ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค, n์ 1, 2, 3์ ํฉ์ผ๋ก ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ์ถ๋ ฅํ๋ค. www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - DP(๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ)์ ์ ํ์ ์ธ ๋ฌธ์ ์ด๋ค - DP๋ ํ๋ฒ ์งํํ ๊ณ์ฐ์ ๋ํด์ ์ ์ฅ ํด๋๊ณ ๋ ๋ฐ์์ ๊ณ์ฐ ๊ฐ๋ง ์ฌ์ฉํ๋ค. - ํด๋น ์ฝ๋์์ numbers ๋ฐฐ์ด์ ๊ณ์ฐ ๊ฒฐ๊ณผ ๊ฐ์ ์ ์ฅํด๋๋ ์ญํ ์ ํ๋ค. - 1, 2, 3์ ์ด์ฉํ์ฌ 1, 2, 3์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์๊ฐํด๋ณด์ 1 = 1 1์ ๋ง๋๋ ๋ฐฉ๋ฒ์ 1๊ฐ(numbers[1] = 1) 2 = 1 + 1 2 = 2 2๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ 2๊ฐ(numbers[2] = 2) 3 ..
[Python] ๋ฐฑ์ค 1715 ์นด๋ ์ ๋ ฌํ๊ธฐ | ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/1715 1715๋ฒ: ์นด๋ ์ ๋ ฌํ๊ธฐ ์ ๋ ฌ๋ ๋ ๋ฌถ์์ ์ซ์ ์นด๋๊ฐ ์๋ค๊ณ ํ์. ๊ฐ ๋ฌถ์์ ์นด๋์ ์๋ฅผ A, B๋ผ ํ๋ฉด ๋ณดํต ๋ ๋ฌถ์์ ํฉ์ณ์ ํ๋๋ก ๋ง๋๋ ๋ฐ์๋ A+B ๋ฒ์ ๋น๊ต๋ฅผ ํด์ผ ํ๋ค. ์ด๋ฅผํ ๋ฉด, 20์ฅ์ ์ซ์ ์นด๋ ๋ฌถ์๊ณผ 30์ฅ www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ์์ ์นด๋ ๋ญ์น๋ค ๋ถํฐ ์์๋๋ก ์ฒ๋ฆฌํด์ผ ํ๋ฏ๋ก ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค! - ์นด๋ ๋ญ์น๊ฐ 1๊ฐ๋ผ๋ฉด ๋น๊ตํ ๋ญ์น๊ฐ ์์ผ๋ฏ๋ก 0 ๋ฐํ - ์นด๋ ๋ญ์น๊ฐ 3๊ฐ ์ด์์ด๋ผ๋ฉด ์ต์๊ฐ 2๊ฐ๋ฅผ ๋ฝ์ ์์๋๋ก ์ฐ์ฐ(์ฐ์ ์์ ํ) - ํ ์์ ๋ญ์น๊ฐ 2๊ฐ ๋จ์๋ค๋ฉด ๋์ด์ ์ต์ ๊ฐ 2๊ฐ๋ฅผ ์ฐพ์ง ์๊ณ ์ฐ์ฐ ๊ฐ์ ๋ํ์ฌ ์ถ๋ ฅ & ๋ฐ๋ณต๋ฌธ ์ข ๋ฃ..
[Python] ํ๋ก๊ทธ๋๋จธ์ค ์คํจ์จ | ์ ๋ ฌ | 2019 KAKAO BLIND RECRUITMENT
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://school.programmers.co.kr/learn/courses/30/lessons/42889 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ๊ฐ ์คํ ์ด์ง ๋ณ ์คํจ์จ ๊ณ์ฐ -> ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ(์คํจ์จ์ด ํฐ ๊ฐ์ด ์์ ์์ผํ๋ฏ๋ก) - ์คํจ์จ์ด ๊ฐ๋ค๋ฉด ์คํ ์ด์ง ๋ฒํธ -> ์ค๋ฆ์ฐจ์ ์ ๋ ฌ - ์ ๋ ฌ ๊ฒฐ๊ณผ์์ ์คํ ์ด์ง ๋ฒํธ๋ง ๋ฆฌ์คํธ๋ก ์ถ๋ ฅ ์์ฑ ์ฝ๋ def solution(N, stages): players = len(stages) # ์ฌ์ฉ์ ์ answer = [] for sta..
[Python] ํ๋ก๊ทธ๋๋จธ์ค ์ ์ฐ๊ฒฐํ๊ธฐ | ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://school.programmers.co.kr/learn/courses/30/lessons/42861 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ ์ต์ ์คํจ๋ ํธ๋ฆฌ ์ฐพ๋๋ค. - ๊ฐ์ ๋น์ฉ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ์ฌ ์์๋๋ก ์ฌ์ดํด์ด ๋ฐ์ํ์ง ์์ผ๋ฉด ์ฐ๊ฒฐํด ๋๊ฐ๋ค ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ ์ ๋ฆฌ ๊ธ 2023.05.29 - [๐งชComputer Science/์๊ณ ๋ฆฌ์ฆ] - [์๊ณ ๋ฆฌ์ฆ] ์ต์ ์คํจ๋ ํธ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ | ํฌ๋ฃจ์ค์นผ/ํ๋ฆผ ์๊ณ ๋ฆฌ์ฆ ์์ฑ ์ฝ๋ def s..
[Python] ๋ฐฑ์ค 1774 ์ฐ์ฃผ์ ๊ณผ์ ๊ต๊ฐ | ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/1774 21924๋ฒ: ๋์ ๊ฑด์ค ์ฒซ ๋ฒ์งธ ์ค์ ๊ฑด๋ฌผ์ ๊ฐ์ $N$ $(3 \le N \le 10^5 )$์ ๋๋ก์ ๊ฐ์ $M$ $(2 \le M \le min( {N(N-1) \over 2}, 5×10^5)) $๊ฐ ์ฃผ์ด์ง๋ค. ๋ ๋ฒ์งธ ์ค ๋ถํฐ $M + 1$์ค๊น์ง ๊ฑด๋ฌผ์ ๋ฒํธ $a$, $b$ $(1 \le a, b \le N, a ≠ b)$์ ๋ www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ - dots : ๊ฐ ์ (์ ์ , ๋ ธ๋) ๋ณ x, y ์ขํ ์ ์ฅ - edges : ๊ฐ์ ์ ๋น์ฉ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ - parent : ์ ์ ๋ณ ์ํ ์งํฉ ์ ๋ณด - ๊ฐ ์ ์ ์ ๋ณด๋ฅผ ์์๋๋ก dots..