[๋ฐฑ์ค€] 1644 ์†Œ์ˆ˜์˜ ์—ฐ์†ํ•ฉ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/1644 1644๋ฒˆ: ์†Œ์ˆ˜์˜ ์—ฐ์†ํ•ฉ ์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 4,000,000) www.acmicpc.net ์ €๋ฒˆ์— ํ‘ผ ๋ถ€๋ถ„ํ•ฉ ๋ฌธ์ œ์˜ ์†Œ์ˆ˜ ๋ฒ„์ „. ๋น„์Šทํ•œ ๋ฌธ์ œ์—ฌ์„œ ๊ธˆ๋ฐฉ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ–ˆ๋‹ค. ์•„์ด๋””์–ด 1. ์†Œ์ˆ˜ ์ฐพ๊ธฐ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ๋น ๋ฅธ ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ๋ฐฉ๋ฒ•์œผ๋กœ ์†Œ์ˆ˜๋ฅผ ์ฐพ์•˜๋‹ค. 2. ์†Œ์ˆ˜์˜ ์—ฐ์†ํ•ฉ ๋ถ€๋ถ„ํ•ฉ ๋ฌธ์ œ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ํˆฌ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ฐพ์•˜๋‹ค. ์ „์ฒด ์ฝ”๋“œ import math n = int(input()) if n == 1: print(0) exit(0) arr = [True] * (n + 1) arr[0] = False arr[1] = False for i in range(2, int(math.sqrt(n)+..
[๋ฐฑ์ค€] 9466 ํ…€ ํ”„๋กœ์ ํŠธ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/9466 9466๋ฒˆ: ํ…€ ํ”„๋กœ์ ํŠธ ์ด๋ฒˆ ๊ฐ€์„ํ•™๊ธฐ์— '๋ฌธ์ œ ํ•ด๊ฒฐ' ๊ฐ•์˜๋ฅผ ์‹ ์ฒญํ•œ ํ•™์ƒ๋“ค์€ ํ…€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค. ํ”„๋กœ์ ํŠธ ํŒ€์› ์ˆ˜์—๋Š” ์ œํ•œ์ด ์—†๋‹ค. ์‹ฌ์ง€์–ด ๋ชจ๋“  ํ•™์ƒ๋“ค์ด ๋™์ผํ•œ ํŒ€์˜ ํŒ€์›์ธ ๊ฒฝ์šฐ์™€ ๊ฐ™์ด ํ•œ ํŒ€๋งŒ ์žˆ์„ www.acmicpc.net ์‹œ๊ฐ„์ œํ•œ 3์ดˆ๋กœ ๋งค์šฐ ๊ธธ์ง€๋งŒ ๋„ˆ๋ฌด ๋ณต์žกํ•˜์ง€ ์•Š์€ ๋ฌธ์ œ. ์•„๋งˆ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ๋ผ์„œ ์‹œ๊ฐ„์ œํ•œ์„ ๋„๋„ํ•˜๊ฒŒ ๋‘” ๊ฑฐ ๊ฐ™๋‹ค. ์•„์ด๋””์–ด 1. ๊ทธ๋ž˜ํ”„ ์ผ๋‹จ ๋ณด์ž๋งˆ์ž ๊ทธ๋ž˜ํ”„๋ฅผ ์จ์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๋ฌธ์ œ ์กฐ๊ฑด์—์„œ ํŒ€์ด ๋˜๋ ค๋ฉด ์„œ๋กœ๊ฐ€ ๊ผฌ๋ฆฌ๋ฅผ ๋ฌผ๋“ฏ ์‚ฌ์ดํด์ด ์ƒ๊ฒจ์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿผ ์ด ๋ฌธ์ œ๋Š” ๊ทธ๋ž˜ํ”„์—์„œ '์‚ฌ์ดํด์„ ์–ด๋–ป๊ฒŒ ์ฐพ๊ณ  ํŒ๋ณ„ํ•˜๋ƒ'์— ๋Œ€ํ•ด์„œ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. 2. dfs ๋ฐฉ๋ฌธ ์œ ๋ฌด๋ฅผ ํ†ตํ•ด ์‚ฌ์ดํด์ด ์ƒ๊ฒผ๋Š”์ง€ ์•ˆ ์ƒ๊ฒผ๋Š”..
[๋ฐฑ์ค€] 1806 ๋ถ€๋ถ„ํ•ฉ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/1806 1806๋ฒˆ: ๋ถ€๋ถ„ํ•ฉ ์ฒซ์งธ ์ค„์— N (10 ≤ N < 100,000)๊ณผ S (0 < S ≤ 100,000,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์ˆ˜์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ˆ˜์—ด์˜ ๊ฐ ์›์†Œ๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด์ ธ ์žˆ์œผ๋ฉฐ, 10,000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net ์•„์ด๋””์–ด 1. ๋ถ€๋ถ„ํ•ฉ ์‚ฌ์šฉ ๋ถ€๋ถ„ํ•ฉ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์–˜๊ธฐํ•ด๋ณด๋ฉด 0 ~ N๊นŒ์ง€์˜ ํ•ฉ์„ ๋ฏธ๋ฆฌ ๊ตฌํ•ด๋‘๊ณ  ํ•ฉ์˜ ์ฐจ((0 ~ b๊นŒ์ง€ ํ•ฉ) - (0 ~ a๊นŒ์ง€ ํ•ฉ))๋ฅผ ํ†ตํ•ด a๋ถ€ํ„ฐ b๊นŒ์ง€ ์ˆ˜์˜ ํ•ฉ์„ ๋น ๋ฅด๊ฒŒ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๊ทธ๋ž˜์„œ for๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๊ธธ์ด๊ฐ€ 1์ผ ๋•Œ, 2์ผ ๋•Œ... N์ผ ๋•Œ ๋ถ€๋ถ„ํ•ฉ์˜ ๊ฐ’์„ ๊ตฌํ•ด๋ณด๋ฉฐ S๊ฐ’์ด ๋„˜๋Š” ์ˆœ๊ฐ„ ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค. ๋‹น์—ฐํ•˜๊ฒŒ๋„ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋–ด๋‹ค. ..
[๋ฐฑ์ค€] 1504 ํŠน์ •ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/1504 1504๋ฒˆ: ํŠน์ •ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N๊ณผ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ E๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ E๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ ์„ธ ๊ฐœ์˜ ์ •์ˆ˜ a, b, c๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ, a๋ฒˆ ์ •์ ์—์„œ b๋ฒˆ ์ •์ ๊นŒ์ง€ ์–‘๋ฐฉํ–ฅ ๊ธธ์ด ์กด www.acmicpc.net ์•„์ด๋””์–ด 1. ๊ฐ€์ค‘์น˜๊ฐ€ ์žˆ๋Š” ๊ทธ๋ž˜ํ”„ ๋‹ค์ต์ŠคํŠธ๋ผ ์•„๋‹ˆ๋ฉด ํ”Œ๋กœ์ด๋“œ ๋‘ ๊ฐœ๋ฅผ ์ƒ๊ฐํ–ˆ๋‹ค. ๋‘์ •์  v1, v2๋ฅผ ์ง€๋‚˜๋Š” ์ตœ๋‹จ๊ฒฝ๋กœ๋Š” ๊ฐ๊ฐ์˜ ์ตœ๋‹จ๊ฒฝ๋กœ๋“ค์„ ๋”ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์œผ๋ฏ€๋กœ ๋‹ค์ต์ŠคํŠธ๋ผ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. '1 -> N' = '1 -> v1' + 'v1 -> v2' + 'v2 ->N' ๊ฐ™์ด ๊ณ„์‚ฐํ•ด์„œ ๋‘ ์ •์ ์„ ์ง€๋‚˜๋Š” ์ตœ๋‹จ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•œ๋‹ค. ๋ฃจํŠธ๋Š” 1 -> v1 -..
[๋ฐฑ์ค€] 12100 2048(easy) (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/12100 12100๋ฒˆ: 2048 (Easy) ์ฒซ์งธ ์ค„์— ๋ณด๋“œ์˜ ํฌ๊ธฐ N (1 ≤ N ≤ 20)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฒŒ์ž„ํŒ์˜ ์ดˆ๊ธฐ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. 0์€ ๋นˆ ์นธ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์ด์™ธ์˜ ๊ฐ’์€ ๋ชจ๋‘ ๋ธ”๋ก์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋ธ”๋ก์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜๋Š” 2 www.acmicpc.net ์•„์ด๋””์–ด 1. ๊ตฌํ˜„์ด ๋จผ์ € ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  N์ตœ๋Œ€๊ฐ€ 20์ด๊ณ  ์ด๋™๋„ 5๋ฒˆ ํ•˜๋ฏ€๋กœ ๋ฌธ์ œ๊ฐ€ ๋งํ•œ ๊ทธ๋Œ€๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ๋˜๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐ. ์ƒ, ํ•˜, ์ขŒ, ์šฐ ์ด๋™ ์ค‘์— '์ขŒ'๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ๊ตฌํ˜„ํ•˜๋ฉด ๋‚˜๋จธ์ง€๋„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋งŒ๋“ค์ˆ˜๋ก ๋ณ€์ˆ˜๋‚˜ if๋ฌธ์ด ๋งŽ์•„์ ธ ๋‹ค์‹œ ๋ฐ€๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ ์ž‘์„ฑํ–ˆ๋‹ค. ๋„ˆ๋ฌด ๋งŽ์€ ๋ณ€์ˆ˜๋Š” ํ•„์š” ์—†๋‹ค. ์ด๊ฑด ๋‹ค๋ฅธ ๊ตฌํ˜„ ๋ฌธ์ œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋ผ๊ณ  ์ƒ๊ฐ. '์ด๋™์‹œํ‚ฌ ๋ธ”๋ก'๊ณผ..
[๋ฐฑ์ค€] 15654 N๊ณผ M(5) (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/15654 15654๋ฒˆ: N๊ณผ M (5) N๊ฐœ์˜ ์ž์—ฐ์ˆ˜์™€ ์ž์—ฐ์ˆ˜ M์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์•„๋ž˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ธธ์ด๊ฐ€ M์ธ ์ˆ˜์—ด์„ ๋ชจ๋‘ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. N๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋Š” ๋ชจ๋‘ ๋‹ค๋ฅธ ์ˆ˜์ด๋‹ค. N๊ฐœ์˜ ์ž์—ฐ์ˆ˜ ์ค‘์—์„œ M๊ฐœ๋ฅผ ๊ณ ๋ฅธ ์ˆ˜์—ด www.acmicpc.net ์•„์ด๋””์–ด 1. ๋ฐฑํŠธ๋ž˜ํ‚น ์ด๋ฏธ N๊ณผ M ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ด์„œ ๋ฐ”๋กœ ๋– ์˜ฌ๋ž๋‹ค. ๊นŠ์ด๊ฐ€ M์ด ๋  ๋•Œ๋งˆ๋‹ค ์ฃผ์–ด์ง„ ์ˆซ์ž๋“ค์„ ํƒ์ƒ‰ํ•˜๋ฉด ๋œ๋‹ค. ์ด ๋ฌธ์ œ์—์„œ๋Š” ์ˆœ์—ด, ์ค‘๋ณต๋˜์ง€ ์•Š์€ ์ˆซ์ž๋“ค์„ ๋‚˜์—ดํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ด๋ฏธ ์ถ”๊ฐ€๋œ ์ˆซ์ž๊ฐ€ ์žˆ์œผ๋ฉด continue๋กœ ๋„˜๊ฒจ์ค€๋‹ค. ์ „์ฒด ์ฝ”๋“œ N, M = map(int, input().split()) numbers = [int(x) for x in input().split()] ..
[๋ฐฑ์ค€] 1202 ๋ณด์„ ๋„๋‘‘ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/1202 1202๋ฒˆ: ๋ณด์„ ๋„๋‘‘ ์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N, K ≤ 300,000) ๋‹ค์Œ N๊ฐœ ์ค„์—๋Š” ๊ฐ ๋ณด์„์˜ ์ •๋ณด Mi์™€ Vi๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (0 ≤ Mi, Vi ≤ 1,000,000) ๋‹ค์Œ K๊ฐœ ์ค„์—๋Š” ๊ฐ€๋ฐฉ์— ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋ฌด๊ฒŒ Ci๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Ci www.acmicpc.net ์•„์ด๋””์–ด 1. ๋ณด์„์„ ๊ฐ€๋ฐฉ์— ์–ด๋–ป๊ฒŒ ๋‹ด์„ ๊ฑด๊ฐ€. ๋‹จ์ˆœํžˆ ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋น„๊ตํ•˜๋ฉด ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚œ๋‹ค. ๋‹ค์‹œ ๋ฌธ์ œ๋ฅผ ์ฝ๊ณ  ๋ฌธ์ œ์— ์žˆ๋Š” ํžŒํŠธ๋ฅผ ๋ณด๊ณ  ๊ฐ์„ ์žก์•˜๋‹ค. ๋จผ์ € ๋ณด์„ ๋ฆฌ์ŠคํŠธ์™€ ๊ฐ€๋ฐฉ ๋ฆฌ์ŠคํŠธ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ๊ฐ ๊ฐ€๋ฐฉ์„ ๊ธฐ์ค€์œผ๋กœ ๋ณด์„์ด ๊ฐ€๋ฐฉ์— ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. ๊ฐ€๋ฐฉ์— ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๋ณด์„ ์ค‘ ๊ฐ€์น˜๊ฐ€ ๊ฐ€์žฅ ํฐ ๊ฑธ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค...
[๋ฐฑ์ค€] 13913 ์ˆจ๋ฐ”๊ผญ์งˆ 4 (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/13913 13913๋ฒˆ: ์ˆจ๋ฐ”๊ผญ์งˆ 4 ์ˆ˜๋นˆ์ด๋Š” ๋™์ƒ๊ณผ ์ˆจ๋ฐ”๊ผญ์งˆ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ํ˜„์žฌ ์  N(0 ≤ N ≤ 100,000)์— ์žˆ๊ณ , ๋™์ƒ์€ ์  K(0 ≤ K ≤ 100,000)์— ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ๊ฑท๊ฑฐ๋‚˜ ์ˆœ๊ฐ„์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ, ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๊ฐ€ X์ผ www.acmicpc.net ์ˆจ๋ฐ”๊ผญ์งˆ ์‹œ๋ฆฌ์ฆˆ ๋งˆ์ง€๋ง‰ ์ˆจ๋ฐ”๊ผญ์งˆ 1 ๋จผ์ € ํ’€์–ด๋ณด๋Š” ๊ฒŒ ์ข‹๋‹ค. ์•„์ด๋””์–ด 1. bfs ํ์— x +1, x - 1, x * 2๋ฅผ ์กฐ๊ฑด์— ๋งž์œผ๋ฉด ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. ํ์— ์œ„์น˜์™€ ์‹œ๊ฐ„ ๊ทธ๋ฆฌ๊ณ  ์ง€๋‚˜์˜จ ๊ธธ๋„ ๊ฐ™์ด ๋„ฃ์–ด์ค€๋‹ค. ๋„์ฐฉํ•˜๋ฉด ๋„์ฐฉ ์‹œ๊ฐ„๊ณผ ๊ฒฝ๋กœ๋ฅผ ๋ฆฌํ„ด ํ›„ ์ถœ๋ ฅ. ์ „์ฒด ์ฝ”๋“œ from collections import deque N, K = map(int,input().split(..