[๋ฐฑ์ค€] 2096 ๋‚ด๋ ค๊ฐ€๊ธฐ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
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..
[๋ฐฑ์ค€] 16928 ๋ฑ€๊ณผ ์‚ฌ๋‹ค๋ฆฌ ๊ฒŒ์ž„ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
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(..
[๋ฐฑ์ค€] 5525 IOIOI (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
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)๋ผ๊ณ  ํ•œ๋‹ค. ์Šฌ๋ผ์ด์Šค๋ฅผ ์ตœ๋Œ€ํ•œ ๋œ ์“ฐ๊ณ  ๋ฐ˜๋ณต..
[๋ฐฑ์ค€] 9375 ํŒจ์…˜์™• ์‹ ํ•ด๋นˆ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/9375 9375๋ฒˆ: ํŒจ์…˜์™• ์‹ ํ•ด๋นˆ ์ฒซ ๋ฒˆ์งธ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” headgear์— ํ•ด๋‹นํ•˜๋Š” ์˜์ƒ์ด hat, turban์ด๋ฉฐ eyewear์— ํ•ด๋‹นํ•˜๋Š” ์˜์ƒ์ด sunglasses์ด๋ฏ€๋กœ (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)๋กœ ์ด 5๊ฐ€์ง€ ์ด๋‹ค. www.acmicpc.net ์•„์ด๋””์–ด 1. ์กฐํ•ฉ ์ฒ˜์Œ์— ๋ฌธ์ œ๋ฅผ ๋ดค์„ ๋•Œ ๋ฐฉ๋ฒ•์„ ๋ชฐ๋ผ์„œ ์กฐํ•ฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•จ. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์™€ n์˜ ์ตœ๋Œ€๊ฐ€ ์ ์–ด ๊ฐ€๋Šฅํ•  ๊ฑฐ๋ผ ์ƒ๊ฐํ–ˆ์ง€๋งŒ ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์กฐํ•ฉ์ด๋ฉด ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ์—„์ฒญ ๋งŽ์•„์ง€๋‹ˆ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋–ด๋‹ค. 2. ์ˆ˜ํ•™ ์–ด๋ฆด ๋•Œ ๋ฐฐ์› ๋˜ ๊ฒฝ์šฐ์˜ ์ˆ˜ ๋ฌธ์ œ๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ๊ธˆ๋ฐฉ ํ’€ ์ˆ˜ ์žˆ๋‹ค. ๋”•์…”๋„ˆ๋ฆฌ์™€ ๊ฐ™์ด ์“ฐ๋ฉด..
[๋ฐฑ์ค€] 1074 Z (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/1074 1074๋ฒˆ: Z ํ•œ์ˆ˜๋Š” ํฌ๊ธฐ๊ฐ€ 2N × 2N์ธ 2์ฐจ์› ๋ฐฐ์—ด์„ Z๋ชจ์–‘์œผ๋กœ ํƒ์ƒ‰ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 2×2๋ฐฐ์—ด์„ ์™ผ์ชฝ ์œ„์นธ, ์˜ค๋ฅธ์ชฝ ์œ„์นธ, ์™ผ์ชฝ ์•„๋ž˜์นธ, ์˜ค๋ฅธ์ชฝ ์•„๋ž˜์นธ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฉ๋ฌธํ•˜๋ฉด Z๋ชจ์–‘์ด๋‹ค. N > 1์ธ ๊ฒฝ์šฐ, ๋ฐฐ์—ด์„ www.acmicpc.net ZZZ ์•„์ด๋””์–ด 1. ์ˆซ์ž๋ฅผ ์–ด๋–ป๊ฒŒ ์ฐพ์ง€ ์ฒ˜์Œ์—๋Š” ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด๋ณด๋ ค ํ–ˆ์œผ๋‚˜ ์ตœ๋Œ€๊ธธ์ด๊ฐ€ 2^15์ธ๊ฑธ ๋ณด๊ณ  ์ ‘์—ˆ๋‹ค. ๋ถ„ํ•  ํƒ์ƒ‰๊ฐ™์ด ์ƒ๊ฒผ์ง€๋งŒ ํ˜น์‹œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ์„๊นŒ ๋ด ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ๊ทธ๋ƒฅ ๋ถ„ํ•  ์ •๋ณต์œผ๋กœ ํ’€๊ธฐ๋กœ ํ–ˆ๋‹ค. 2. ๊ทœ์น™์„ ์ฐพ์•„์•ผ ํ•ด ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด 4๋“ฑ๋ถ„ ํ–ˆ์„ ๋•Œ ๋Š๋‚Œ์ด ์˜จ๋‹ค. 4๋“ฑ๋ถ„ ํ–ˆ์„๋•Œ ๊ฐ๊ฐ์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๊ฐ€ ์ผ์ •ํ•œ ๊ทœ์น™์ด ์žˆ๋‹ค๋Š” ๊ฒŒ ๋ณด์ธ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด N = 3์œผ๋กœ ์ฃผ..
[๋ฐฑ์ค€] 9019 DSLR (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/9019 9019๋ฒˆ: DSLR ๋„ค ๊ฐœ์˜ ๋ช…๋ น์–ด D, S, L, R ์„ ์ด์šฉํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๊ณ„์‚ฐ๊ธฐ๊ฐ€ ์žˆ๋‹ค. ์ด ๊ณ„์‚ฐ๊ธฐ์—๋Š” ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ํ•˜๋‚˜ ์žˆ๋Š”๋ฐ, ์ด ๋ ˆ์ง€์Šคํ„ฐ์—๋Š” 0 ์ด์ƒ 10,000 ๋ฏธ๋งŒ์˜ ์‹ญ์ง„์ˆ˜๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ ๋ช…๋ น์–ด๋Š” ์ด ๋ ˆ์ง€์Šคํ„ฐ์— www.acmicpc.net ์•„์ด๋””์–ด 1. bfs ์ตœ์†Œํ•œ์˜ ๋ช…๋ น ์–ด์„ ์ถœ๋ ฅ ํ•˜๋ผ ํ–ˆ์œผ๋ฏ€๋กœ bfs๊ฐ€ ์•„๋‹ˆ๋ฉด ๋ชป ํ’€ ๊ฑฐ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ์‹œ๊ฐ„์ œํ•œ๋„ 6์ดˆ๋กœ ๋„‰๋„‰ํ•˜๊ฒŒ ์žˆ์–ด์„œ ์ถฉ๋ถ„ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. 2. ์‹œ๊ฐ„ ์ดˆ๊ณผ ์š”์ฆ˜ ๊ณ„์† ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋œฌ๋‹ค. 6์ดˆ๋ผ์„œ ๋„‰๋„‰ํ•  ์ค„ ์•Œ์•˜๋Š”๋ฐ. ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋œฌ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. D, S, L, R ๊ฐ๊ฐ์˜ ๋ช…๋ น์–ด๋ฅผ ๊ฐ„์†Œํ•˜๊ฒŒ ๊ตฌํ˜„ํ•ด์•ผ ํ–ˆ๋Š”๋ฐ, if๋ฌธ์ด๋‚˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ์‹œ๊ฐ„์ œํ•œ์ด ๊ฑธ๋ฆฐ ๊ฑฐ ๊ฐ™๋‹ค..
[๋ฐฑ์ค€] 14500 ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/14500 14500๋ฒˆ: ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ ํด๋ฆฌ์˜ค๋ฏธ๋…ธ๋ž€ ํฌ๊ธฐ๊ฐ€ 1×1์ธ ์ •์‚ฌ๊ฐํ˜•์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ด์–ด์„œ ๋ถ™์ธ ๋„ํ˜•์ด๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค. ์ •์‚ฌ๊ฐํ˜•์€ ์„œ๋กœ ๊ฒน์น˜๋ฉด ์•ˆ ๋œ๋‹ค. ๋„ํ˜•์€ ๋ชจ๋‘ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ •์‚ฌ๊ฐํ˜•์˜ ๋ณ€ www.acmicpc.net ์•„์ด๋””์–ด 1. ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋ˆ  ์ƒ๊ฐํ•˜๋ฉด ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ ๋„ํ˜• ๋งŒ๋“ค๊ธฐ ์ข…์ด ์œ„์— ์˜ฌ๋ฆฌ๊ธฐ 2. ๋„ํ˜• ๋งŒ๋“ค๊ธฐ ๋„ํ˜•์ด ํšŒ์ „์ด๋‚˜ ๋Œ€์นญ๋„ ๊ฐ€๋Šฅํ•˜๋‹ˆ dfs๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด T๋„ํ˜• ๋นผ๊ณ  ์ „๋ถ€ ๋‹ค ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. dfs ํƒ์ƒ‰ ๊นŠ์ด๋ฅผ 4๊นŒ์ง€ ์„ค์ •ํ•˜๋ฉด ๋„ํ˜•์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. T ๋ชจ์–‘์€ ๋”ฐ๋กœ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์ฒ˜๋ฆฌํ–ˆ๋‹ค. 3. ์ข…์ด์— ๋„ํ˜• ๋†“๊ธฐ ์‹œ๊ฐ„์ œํ•œ์ด๋‚˜ N, M ํฌ๊ธฐ๋ฅผ ๋ณด๊ณ  ๋ธŒ๋ฃจํŠธ ํฌ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค. ๊ฐ ์œ„์น˜๋งˆ๋‹ค ๋งŒ๋“ค์–ด..
[๋ฐฑ์ค€] 18111 ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/18111 18111๋ฒˆ: ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ ํŒ€ ๋ ˆ๋“œ์‹œํ”„ํŠธ๋Š” ๋Œ€ํšŒ ์ค€๋น„๋ฅผ ํ•˜๋‹ค๊ฐ€ ์ง€๋ฃจํ•ด์ ธ์„œ ์ƒŒ๋“œ๋ฐ•์Šค ๊ฒŒ์ž„์ธ ‘๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ’๋ฅผ ์ผฐ๋‹ค. ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ๋Š” 1 × 1 × 1(์„ธ๋กœ, ๊ฐ€๋กœ, ๋†’์ด) ํฌ๊ธฐ์˜ ๋ธ”๋ก๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ 3์ฐจ์› ์„ธ๊ณ„์—์„œ ์ž์œ ๋กญ๊ฒŒ www.acmicpc.net ์•„์ด๋””์–ด 1. ๋ธŒ๋ฃจํŠธ ํฌ์Šค ๋ฌธ์ œ์—์„œ ๋†’์ด ์ด๊ฐ€ 256๊นŒ์ง€ ๊ทธ๋ฆฌ๊ณ  N, M์ด 500๊นŒ์ง€๊ฐ€ ์ตœ๋Œ€๋‹ค. 256*500*500 = 64000000์ด๋ฏ€๋กœ 1์ดˆ ์•ˆ์— ๊ฐ€๋Šฅํ•˜๋‹ค ์ƒ๊ฐ.. 2. ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ธŒ๋ฃจํŠธ ํฌ์Šค๋กœ ๊ฐ€๋Šฅํ•˜๋‹ค ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ๊ณ„์† ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๊ฑธ๋ ธ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์ง  ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•ด ๋ณด๋‹ˆ elif๊ฐ€ ์•„๋‹Œ else๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. pypy๋กœ ํ†ต๊ณผํ–ˆ๋‹ค. else์™€ elif๊ฐ€ ์‹œ๊ฐ„ ์ฐจ์ด๊ฐ€ ๋งŽ์ด ๋‚œ๋‹ค๋Š” ๊ฒƒ์„ ..