๐Ÿงฉ Problem Solving

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€] 6064 ์นด์ž‰ ๋‹ฌ๋ ฅ (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/6064 6064๋ฒˆ: ์นด์ž‰ ๋‹ฌ๋ ฅ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋Š” ํ‘œ์ค€ ์ž…๋ ฅ์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ž…๋ ฅ์€ T๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ์ž…๋ ฅ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋Š” ํ•œ ์ค„๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. www.acmicpc.net ์•„์ด๋””์–ด 1. ์‹œ๊ฐ„ ์ดˆ๊ณผ ์ฒ˜์Œ์—๋Š” x, y๊ฐ’์ด ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ 1์”ฉ ๋”ํ•ด๊ฐ€๋ฉฐ count๋ฅผ ํ–ˆ๋‹ค. ์ˆซ์ž๊ฐ€ ๋ฐ˜๋ณต๋˜๋ฉด -1์„ ์ถœ๋ ฅํ•˜๊ฒŒ ํ–ˆ๋‹ค. ์ƒ๊ฐ์ด ๋„ˆ๋ฌด ์‰ฌ์› ๋Š”์ง€ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ • ์ฝ”๋“œ ์„ค๋ช… def find_K(M, N, x, y): K = x while K

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€] 11403 ๊ฒฝ๋กœ์ฐพ๊ธฐ (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/11403 11403๋ฒˆ: ๊ฒฝ๋กœ ์ฐพ๊ธฐ ๊ฐ€์ค‘์น˜ ์—†๋Š” ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ G๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋“  ์ •์  (i, j)์— ๋Œ€ํ•ด์„œ, i์—์„œ j๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. www.acmicpc.net ์•„์ด๋””์–ด 1. ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ ์˜ˆ์ „์— ๊ฐ€์ค‘์น˜๊ฐ€ ์žˆ๋Š” ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ์„ ํ‘ผ ๊ฒฝํ—˜์ด ์žˆ์–ด์„œ ์ด๋ฒˆ์—๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋‹ค. ๊ธฐ์กด ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์•ฝ๊ฐ„๋งŒ ๋ณ€ํ˜•ํ•˜๋ฉด ๋จ ์ฝ”๋“œ ์„ค๋ช… for k in range(N): for i in range(N): for j in range(N): if adj_matrix[i][k] == 1 and adj_matrix[k][j] == 1: adj_matrix[i][j] = 1 k๋Š” ๊ฑฐ์ณ๊ฐ€๋Š” ๋…ธ๋“œ, i๋Š” ์‹œ์ž‘ ๋…ธ๋“œ, j๋Š” ๋„์ฐฉ..

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€] 16236 ์•„๊ธฐ ์ƒ์–ด (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/16236 16236๋ฒˆ: ์•„๊ธฐ ์ƒ์–ด N×N ํฌ๊ธฐ์˜ ๊ณต๊ฐ„์— ๋ฌผ๊ณ ๊ธฐ M๋งˆ๋ฆฌ์™€ ์•„๊ธฐ ์ƒ์–ด 1๋งˆ๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ๊ณต๊ฐ„์€ 1×1 ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜• ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ํ•œ ์นธ์—๋Š” ๋ฌผ๊ณ ๊ธฐ๊ฐ€ ์ตœ๋Œ€ 1๋งˆ๋ฆฌ ์กด์žฌํ•œ๋‹ค. ์•„๊ธฐ ์ƒ์–ด์™€ ๋ฌผ๊ณ ๊ธฐ๋Š” ๋ชจ๋‘ ํฌ๊ธฐ๋ฅผ ๊ฐ€ www.acmicpc.net ์•„์ด๋””์–ด 1. ์ตœ์†Œ ๊ฒฝ๋กœ bfs ์ง€๋„์™€ ์ตœ์†Œ ๊ฒฝ๋กœ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋ณด๊ณ  bfs๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •. ์—ฌ์œ ๋กœ์šด ์‹œ๊ฐ„๊ณผ nํฌ๊ธฐ๋ฅผ ๋ณด๊ณ  bfs๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ํ•ด๋„ ๊ดœ์ฐฎ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋จน์ด๋ฅผ ์ฐพ์„ ๋•Œ๋งˆ๋‹ค bfs๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. 2. ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฌผ๊ณ ๊ธฐ a. ๋ฌผ๊ณ ๊ธฐ๊นŒ์ง€ ์ด๋™์ด ๊ฐ€๋Šฅํ•œ์ง€ check b. ๊ทธ ๋ฌผ๊ณ ๊ธฐ๋ฅผ ๋จน์„ ์ˆ˜ ์žˆ๋Š”์ง€ c. ๊ฐ€๋Šฅํ•œ ๋ฌผ๊ณ ๊ธฐ๋“ค์„ ๋ฆฌ์ŠคํŠธ์— ๋‹ด์•„๋‘๊ณ  lamb..

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€] 17626 Four Squares (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/17626 17626๋ฒˆ: Four Squares ๋ผ๊ทธ๋ž‘์ฃผ๋Š” 1770๋…„์— ๋ชจ๋“  ์ž์—ฐ์ˆ˜๋Š” ๋„ท ํ˜น์€ ๊ทธ ์ดํ•˜์˜ ์ œ๊ณฑ์ˆ˜์˜ ํ•ฉ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ฆ๋ช…ํ•˜์˜€๋‹ค. ์–ด๋–ค ์ž์—ฐ์ˆ˜๋Š” ๋ณต์ˆ˜์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ํ‘œํ˜„๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, 26์€ 52๊ณผ 12์˜ ํ•ฉ์ด๋‹ค; ๋˜ํ•œ 42 + 32 + 1 www.acmicpc.net ์•„์ด๋””์–ด 1. ๊ทธ๋ฆฌ๋””์™€ dp ์ฒ˜์Œ์—๋Š” n์„ ๋„˜์ง€ ์•Š๋Š” ์ตœ๋Œ€ ์ œ๊ณฑ์ˆ˜๋ฅผ n์— ๋นผ๊ฐ€๋ฉด ๋˜์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ–ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์˜ˆ์™ธ๊ฐ€ ์ƒ๊ธด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 12๋Š” ๊ทธ๋ฆฌ๋””๋กœ ์ƒ๊ฐํ•˜๋ฉด 9, 1, 1, 1์ด์ง€๋งŒ ์ •๋‹ต์€ 4,4,4๋กœ 3๊ฐœ๊ฐ€ ์ตœ์†Œ ๊ฐœ์ˆ˜๋‹ค. ๋‹ค์‹œ ๋ฌธ์ œ ๋‚ด์šฉ์„ ๋ณด๊ณ  dp๋กœ ํ’€๊ธฐ๋กœ ๊ฒฐ์ • DP[n] = (n์ด๋ผ๋Š” ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ํ•„์š”ํ•œ ์ˆ˜์˜ ๊ฐœ์ˆ˜) ์ฝ”๋“œ ์„ค๋ช… k = 1 whi..

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€] 2293 ๋™์ „ 1 (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/2293 2293๋ฒˆ: ๋™์ „ 1 ์ฒซ์งธ ์ค„์— n, k๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) ๋‹ค์Œ n๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ๊ฐ์˜ ๋™์ „์˜ ๊ฐ€์น˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋™์ „์˜ ๊ฐ€์น˜๋Š” 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net DP ๋„ˆ๋ฌด ์–ด๋ ต๋‹ค์—์š” ์•„์ด๋””์–ด 1. DP ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  dp๋ฌธ์ œ์ธ ๊ฒƒ๋„ ์•Œ๊ณ  'DP [k] = ํ•ฉ์ด k๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜'๋ผ๋Š” ๊ฒƒ๋„ ์•Œ์•˜๋‹ค. ๊ทผ๋ฐ ์ ํ™”์‹ ์•„์ด๋””์–ด๊ฐ€ ๋– ์˜ค๋ฅด์ง€ ์•Š์•„ ๊ฒ€์ƒ‰์˜ ํž˜์„ ๋นŒ๋ ธ๋‹ค. ์ผ์ฃผ์ผ ๋’ค์— ๋˜ ํ’€์–ด๋ดค๋Š”๋ฐ ๋˜ ๊นŒ๋จน์—ˆ๋‹ค. ์ดํ•ด๋ฅผ ๋ชป ํ–ˆ๋‹ค๋Š” ๋œป์ด๋‹ค. ์ด๋ฒˆ ๊ธฐํšŒ์— ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€๊ธฐ๋กœ ํ•จ. ์ฝ”๋“œ ์„ค๋ช… DP = [0] * (k + 1) DP[0] = 1 for c in coins:..

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€] 2096 ๋‚ด๋ ค๊ฐ€๊ธฐ (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/2096 2096๋ฒˆ: ๋‚ด๋ ค๊ฐ€๊ธฐ ์ฒซ์งธ ์ค„์— N(1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆซ์ž๊ฐ€ ์„ธ ๊ฐœ์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ˆซ์ž๋Š” 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ์ค‘์˜ ํ•˜๋‚˜๊ฐ€ ๋œ๋‹ค. www.acmicpc.net ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ(4MB)์ด ์žˆ๋Š” dp๋ฌธ์ œ ์•„์ด๋””์–ด 1. ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ๋งค์šฐ ์ ์€ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์„ ๋ณด๊ณ  dp๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ • ๋‹จ์ˆœํžˆ ๋ฌธ์ œ์— ์ฃผ์–ด์ง„ N๊ฐ’๋งŒ ๋ณด๊ณ  ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ธฐ์—” 4MB๋กœ๋Š” ํ„ฑ์—†์ด ๋ถ€์กฑํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์ž„์‹œ๋กœ ์ €์žฅํ•ด์ฃผ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด ์‚ฌ์šฉ ์ฝ”๋“œ ์„ค๋ช… max_arr = [int(x) for x in sys.stdin.readline().rstrip().split()] min_arr = copy.copy(m..

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€] 16928 ๋ฑ€๊ณผ ์‚ฌ๋‹ค๋ฆฌ ๊ฒŒ์ž„ (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/16928 16928๋ฒˆ: ๋ฑ€๊ณผ ์‚ฌ๋‹ค๋ฆฌ ๊ฒŒ์ž„ ์ฒซ์งธ ์ค„์— ๊ฒŒ์ž„ํŒ์— ์žˆ๋Š” ์‚ฌ๋‹ค๋ฆฌ์˜ ์ˆ˜ N(1 ≤ N ≤ 15)๊ณผ ๋ฑ€์˜ ์ˆ˜ M(1 ≤ M ≤ 15)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์‚ฌ๋‹ค๋ฆฌ์˜ ์ •๋ณด๋ฅผ ์˜๋ฏธํ•˜๋Š” x, y (x < y)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. x๋ฒˆ ์นธ์— ๋„์ฐฉํ•˜๋ฉด, y๋ฒˆ ์นธ์œผ www.acmicpc.net ์•„์ด๋””์–ด 1. bfs ์ฃผ์‚ฌ์œ„๋ฅผ ์„ ํƒ(1 ~ 6)ํ•  ์ˆ˜ ์žˆ๋Š” ์ ๊ณผ ์ตœ๋‹จ ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•ดํ•œ๋‹ค๋Š” ์ ์— bfs๋ฅผ ์„ ํƒ ๋ฑ€๊ณผ ์‚ฌ๋‹ค๋ฆฌ๋งŒ ์ž˜ ์ฒดํฌํ•ด์ฃผ๋ฉด ๋˜๋Š” ๋ฌธ์ œ. ์ฝ”๋“œ ์„ค๋ช… deq = deque() deq.append([1, 0]) visited[1] = True while deq: po, count = deq.popleft() if po == 100: print(..

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€] 5525 IOIOI (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/5525 5525๋ฒˆ: IOIOI N+1๊ฐœ์˜ I์™€ N๊ฐœ์˜ O๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉด, I์™€ O์ด ๊ต๋Œ€๋กœ ๋‚˜์˜ค๋Š” ๋ฌธ์ž์—ด์„ PN์ด๋ผ๊ณ  ํ•œ๋‹ค. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O๊ฐ€ N๊ฐœ) I์™€ O๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด S์™€ ์ •์ˆ˜ N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, S์•ˆ์— PN์ด ๋ช‡ www.acmicpc.net ์˜ค๋žœ๋งŒ์— ๋ถ€๋ถ„์ ์ˆ˜๊ฐ€ ์žˆ๋Š” ๋ฌธ์ œ ์•„์ด๋””์–ด 1. ๊ฐ€์žฅ ๋จผ์ € ๋– ์˜ค๋ฅธ ๊ฑด ์Šฌ๋ผ์ด์‹ฑ ๋‹จ์ˆœํ•˜๊ฒŒ ์ƒ๊ฐํ•ด์„œ ๊ทธ๋ƒฅ Pn ํฌ๊ธฐ๋งŒํผ ์ž˜๋ผ์„œ ํƒ์ƒ‰ํ–ˆ๋‹ค. ์•„์ด๋””์–ด๊ฐ€ ๋„ˆ๋ฌด ์‰ฌ์šด๋งŒํผ ๋ถ€๋ถ„์ ์ˆ˜ 50์ ๋งŒ ์คฌ๋‹ค. 2. ์‹œ๊ฐ„ ์ดˆ๊ณผ๋ฅผ ํ”ผํ•˜๋ ค๋ฉด ์ด๋ฒˆ์— ์•Œ๊ฒŒ ๋๋Š”๋ฐ, ํŒŒ์ด์ฌ์—์„œ arr [a:b]์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(b - a)๋ผ๊ณ  ํ•œ๋‹ค. ์Šฌ๋ผ์ด์Šค๋ฅผ ์ตœ๋Œ€ํ•œ ๋œ ์“ฐ๊ณ  ๋ฐ˜๋ณต..

์ œ๋ด‰์•„
'๐Ÿงฉ Problem Solving' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (7 Page)