DevLog ๐Ÿ“จ/Baekjoon 7

[DevLog][Baekjoon] 1655: ๊ฐ€์šด๋ฐ๋ฅผ ๋งํ•ด์š”

01) ๋ฌธ์ œ ๋ฐฑ์ค€์ด๋Š” ๋™์ƒ์—๊ฒŒ "๊ฐ€์šด๋ฐ๋ฅผ ๋งํ•ด์š”" ๊ฒŒ์ž„์„ ๊ฐ€๋ฅด์ณ์ฃผ๊ณ  ์žˆ๋‹ค. ๋ฐฑ์ค€์ด๊ฐ€ ์ •์ˆ˜๋ฅผ ํ•˜๋‚˜์”ฉ ์™ธ์น ๋•Œ๋งˆ๋‹ค ๋™์ƒ์€ ์ง€๊ธˆ๊นŒ์ง€ ๋ฐฑ์ค€์ด๊ฐ€ ๋งํ•œ ์ˆ˜ ์ค‘์—์„œ ์ค‘๊ฐ„๊ฐ’์„ ๋งํ•ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ, ๊ทธ๋™์•ˆ ๋ฐฑ์ค€์ด๊ฐ€ ์™ธ์นœ ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ง์ˆ˜๊ฐœ๋ผ๋ฉด ์ค‘๊ฐ„์— ์žˆ๋Š” ๋‘ ์ˆ˜ ์ค‘์—์„œ ์ž‘์€ ์ˆ˜๋ฅผ ๋งํ•ด์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐฑ์ค€์ด๊ฐ€ ๋™์ƒ์—๊ฒŒ 1, 5, 2, 10, -99, 7, 5๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์™ธ์ณค๋‹ค๊ณ  ํ•˜๋ฉด, ๋™์ƒ์€ 1, 1, 2, 2, 2, 2, 5๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ๋งํ•ด์•ผ ํ•œ๋‹ค. ๋ฐฑ์ค€์ด๊ฐ€ ์™ธ์น˜๋Š” ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋™์ƒ์ด ๋งํ•ด์•ผ ํ•˜๋Š” ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…/์ถœ๋ ฅ ์ฒซ์งธ ์ค„์—๋Š” ๋ฐฑ์ค€์ด๊ฐ€ ์™ธ์น˜๋Š” ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๊ทธ ๋‹ค์Œ N์ค„์— ๊ฑธ์ณ์„œ ๋ฐฑ์ค€์ด๊ฐ€ ์™ธ์น˜๋Š” ์ •์ˆ˜..

[DevLog][Baekjoon] 8983: ์‚ฌ๋ƒฅ๊พผ

01) ๋ฌธ์ œ KOI ์‚ฌ๋ƒฅํ„ฐ์—๋Š” N ๋งˆ๋ฆฌ์˜ ๋™๋ฌผ๋“ค์ด ๊ฐ๊ฐ ํŠน์ •ํ•œ ์œ„์น˜์— ์‚ด๊ณ  ์žˆ๋‹ค. ์‚ฌ๋ƒฅํ„ฐ์— ์˜จ ์‚ฌ๋ƒฅ๊พผ์€ ์ผ์ง์„  ์ƒ์— ์œ„์น˜ํ•œ M ๊ฐœ์˜ ์‚ฌ๋Œ€(์ด์„ ์˜๋Š” ์žฅ์†Œ)์—์„œ๋งŒ ์‚ฌ๊ฒฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํŽธ์˜์ƒ, ์ผ์ง์„ ์„ x-์ถ•์ด๋ผ ๊ฐ€์ •ํ•˜๊ณ , ์‚ฌ๋Œ€์˜ ์œ„์น˜ x1, x2, ..., xM์€ x-์ขŒํ‘œ ๊ฐ’์ด๋ผ๊ณ  ํ•˜์ž. ๊ฐ ๋™๋ฌผ์ด ์‚ฌ๋Š” ์œ„์น˜๋Š” (a1, b1), (a2, b2), ..., (aN, bN)๊ณผ ๊ฐ™์ด x,y-์ขŒํ‘œ ๊ฐ’์œผ๋กœ ํ‘œ์‹œํ•˜์ž. ๋™๋ฌผ์˜ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ชจ๋“  ์ขŒํ‘œ ๊ฐ’์€ ์–‘์˜ ์ •์ˆ˜์ด๋‹ค. ์‚ฌ๋ƒฅ๊พผ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ด์˜ ์‚ฌ์ •๊ฑฐ๋ฆฌ๊ฐ€ L์ด๋ผ๊ณ  ํ•˜๋ฉด, ์‚ฌ๋ƒฅ๊พผ์€ ํ•œ ์‚ฌ๋Œ€์—์„œ ๊ฑฐ๋ฆฌ๊ฐ€ L ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์œ„์น˜์˜ ๋™๋ฌผ๋“ค์„ ์žก์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๋‹จ, ์‚ฌ๋Œ€์˜ ์œ„์น˜ xi์™€ ๋™๋ฌผ์˜ ์œ„์น˜ (aj, bj) ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๋Š” |xi-aj| + bj๋กœ ๊ณ„์‚ฐํ•œ๋‹ค. ์˜ˆ๋ฅผ..

[DevLog][Baekjoon] 2110: ๊ณต์œ ๊ธฐ ์„ค์น˜

01) ๋ฌธ์ œ ๋„ํ˜„์ด์˜ ์ง‘ N๊ฐœ๊ฐ€ ์ˆ˜์ง์„  ์œ„์— ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ์ง‘์˜ ์ขŒํ‘œ๋Š” x1, ..., xN์ด๊ณ , ์ง‘ ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ๊ฐ™์€ ์ขŒํ‘œ๋ฅผ ๊ฐ€์ง€๋Š” ์ผ์€ ์—†๋‹ค. ๋„ํ˜„์ด๋Š” ์–ธ์ œ ์–ด๋””์„œ๋‚˜ ์™€์ดํŒŒ์ด๋ฅผ ์ฆ๊ธฐ๊ธฐ ์œ„ํ•ด์„œ ์ง‘์— ๊ณต์œ ๊ธฐ C๊ฐœ๋ฅผ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ตœ๋Œ€ํ•œ ๋งŽ์€ ๊ณณ์—์„œ ์™€์ดํŒŒ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ•œ ์ง‘์—๋Š” ๊ณต์œ ๊ธฐ๋ฅผ ํ•˜๋‚˜๋งŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฐ€์žฅ ์ธ์ ‘ํ•œ ๋‘ ๊ณต์œ ๊ธฐ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ€๋Šฅํ•œ ํฌ๊ฒŒ ํ•˜์—ฌ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. C๊ฐœ์˜ ๊ณต์œ ๊ธฐ๋ฅผ N๊ฐœ์˜ ์ง‘์— ์ ๋‹นํžˆ ์„ค์น˜ํ•ด์„œ, ๊ฐ€์žฅ ์ธ์ ‘ํ•œ ๋‘ ๊ณต์œ ๊ธฐ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ตœ๋Œ€๋กœ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…/์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ง‘์˜ ๊ฐœ์ˆ˜ N (2 ≤ N ≤ 200,000)๊ณผ ๊ณต์œ ๊ธฐ์˜ ๊ฐœ์ˆ˜ C (2 ≤ C ≤ N)์ด ํ•˜๋‚˜ ์ด์ƒ์˜ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ง‘์˜ ์ขŒํ‘œ..

[DevLog][Baekjoon] 2261: ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋‘ ์ 

01) ๋ฌธ์ œ 2์ฐจ์› ํ‰๋ฉด์ƒ์— n๊ฐœ์˜ ์ ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด ์ ๋“ค ์ค‘ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋‘ ์ ์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ n(2 ≤ n ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ n๊ฐœ์˜ ์ค„์—๋Š” ์ฐจ๋ก€๋กœ ๊ฐ ์ ์˜ x, y์ขŒํ‘œ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ์ขŒํ‘œ๋Š” ์ ˆ๋Œ“๊ฐ’์ด 10,000์„ ๋„˜์ง€ ์•Š๋Š” ์ •์ˆ˜์ด๋‹ค. ์—ฌ๋Ÿฌ ์ ์ด ๊ฐ™์€ ์ขŒํ‘œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜๋„ ์žˆ๋‹ค. ์˜ˆ์ œ ์ž…/์ถœ๋ ฅ 4 0 0 10 10 0 10 10 0 # output is 10002) ํ’€์ด ํ‰๋ฉด์„ ๋ถ„ํ• ํ•œ๋‹ค ๋ถ„ํ• ๋œ ํ‰๋ฉด์—์„œ ์ตœ์†Œ ๊ฑฐ๋ฆฌ๋ฅผ ์ฐพ๋Š”๋‹ค ์„œ๋กœ ๋ถ„ํ• ๋˜์–ด ์žˆ๋Š” ์ ๋“ค ์ค‘์—์„œ ์ตœ์†Œ ๊ฑฐ๋ฆฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ์ ๋“ค๋งŒ ํƒ์ƒ‰ํ•˜์—ฌ ์ตœ์†Œ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐฑ์‹ ํ•œ๋‹ค. ์ด์ „ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—…์—์„œ ๋ถ„๋ช…ํžˆ ์ ‘ํ–ˆ๋˜ ๋ฌธ์ œ์ธ๋ฐ๋„ ๋ฐ”๋กœ ๊ตฌํ˜„์ด ๋– ์˜ค๋ฅด์ง€ ์•Š์•˜๋‹ค. ์œ„์™€ ๊ฐ™์€ ํ๋ฆ„์œผ๋กœ divide/combine ..

[DevLog][Baekjoon] 1629: ๊ณฑ์…ˆ

[1629] ๊ณฑ์…ˆ 1) ๋ฌธ์ œ ์ž์—ฐ์ˆ˜ A๋ฅผ B๋ฒˆ ๊ณฑํ•œ ์ˆ˜๋ฅผ ์•Œ๊ณ  ์‹ถ๋‹ค. ๋‹จ ๊ตฌํ•˜๋ ค๋Š” ์ˆ˜๊ฐ€ ๋งค์šฐ ์ปค์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด๋ฅผ C๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ฒซ์งธ ์ค„์— A, B, C๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. A, B, C๋Š” ๋ชจ๋‘ 2,147,483,647 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์ฒซ์งธ ์ค„์— A๋ฅผ B๋ฒˆ ๊ณฑํ•œ ์ˆ˜๋ฅผ C๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ์ œ ์ž…/์ถœ๋ ฅ 10 11 12 # output is 4 2) ํ’€์ด $\ A^(x+y) = A^x \times A^y$ ์ž„์„ ์ด์šฉํ•ด ๋ถ„ํ•  ์ •๋ณต์œผ๋กœ ํ’€์–ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์€ ๋“ค์—ˆ๋Š”๋ฐ, ๊ตฌ์ฒด์ ์ธ ๊ตฌํ˜„๋ฐฉ๋ฒ•์ด ๋– ์˜ค๋ฅด์ง€ ์•Š์•˜๋‹ค. ๊ฒฐ๊ตญ ํ’€์ด๋ฅผ ์ฐธ๊ณ ํ–ˆ๊ณ , ํ•ต์‹ฌ์€ ๋ชจ๋“ˆ๋Ÿฌ ์—ฐ์‚ฐ์˜ ์„ฑ์งˆ์ด๋ผ๋Š” ์ ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋ชจ๋“ˆ๋Ÿฌ ์—ฐ์‚ฐ์˜ ๋ถ„๋ฐฐ๋ฒ•์น™ $(A \pm B), \bmod, C ..

[BaekJoon] 1007: ๋ฒกํ„ฐ ๋งค์นญ

BaekJoon 1007: ๋ฒกํ„ฐ ๋งค์นญ ํ’€์ด ๋ฐฉ๋ฒ• ์ง‘ํ•ฉ P๋Š” n๊ฐœ์˜ ์ ๋“ค์˜ ์ง‘ํ•ฉ์ด๊ณ , P์˜ ๋ฒกํ„ฐ ๋งค์นญ์€ P์˜ ๋ชจ๋“  ์ ์„ ํ•œ ๋ฒˆ์”ฉ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“  ๋ฒกํ„ฐ์˜ ์ง‘ํ•ฉ์ด๋‹ค. ์ฆ‰, $P = {(x_1, y_1), (x_2, y_2), \dots , (x_n, y_n)}$ $VM = {(x_i - x_j,\space y_i - y-j)\space|\space 1 \le i, j \le n, i \ne j }$ ๋”ฐ๋ผ์„œ ๋ฒกํ„ฐ ๋งค์นญ์— ์†ํ•˜๋Š” ๋ชจ๋“  ๋ฒกํ„ฐ์˜ ํ•ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. $v_1 = (x_2 - x_1, \space y_2 - y_1)$ $v_2 = (x_4 - x_3, \space y_4 - y_3)$ $ \dots $ $v_{n/2} = (x_n - x_{n-1}, \space y_n - y_{n-1})$ ..

[BaekJoon] 1005: ACM Craft

BaekJoon 1005: ACM Craft ํ’€์ด ๋ฐฉ๋ฒ• ์œ„์ƒ ์ •๋ ฌ topological sorting ๊ณผ DP๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ์œ ํ–ฅ ๊ทธ๋ž˜ํ”„๋ฅผ ๋งŒ๋“ค๊ณ , ์ง„์ž… ๊ฐ„์„ ์˜ ์ˆ˜๋ฅผ ์ฒดํฌํ•˜๊ธฐ ์œ„ํ•ด degree ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด ์ค€๋‹ค. ์ •์ ์„ ๋ชจ๋‘ ๋‹ด์„ ํ๋„ ํ•˜๋‚˜ ์„ ์–ธํ•ด ์ค€๋‹ค. from collections import deque time = [0] + list(map(int, input().split())) # time to build result = time.copy() degree = [0] * (N + 1) graph = [[] for _ in range(N+1)] queue = deque([i+1 for i in range(N)]) ๋จผ์ €, ๊ฑด๋ฌผ์„ ์ง“๋Š” ์ˆœ์„œ X, Y ๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ๋งˆ..