[๋ฐฑ์ค€] 1244 ์Šค์œ„์น˜ ์ผœ๊ณ  ๋„๊ธฐ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/1244์ƒ๊ฐ๋ณด๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ฆฐ ๋ฌธ์ œ. ํŒฐ๋ฆฐ๋“œ๋กฌ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒŒ ์•ฝํ•œ ๊ฑฐ ๊ฐ™๋‹ค.๊ทธ๋ฆฌ๊ณ  ํŠน์ดํ•˜๊ฒŒ ์ •๋‹ต์„ ์ˆซ์ž 20๊ฐœ์”ฉ ๋Š์–ด์„œ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ๋•๋ถ„์— ์‹ค์ˆ˜๋ฅผ ๋งŽ์ด ํ–ˆ๋‹ค.์•„์ด๋””์–ด- ์ผ๋‹จ ๋ฐฐ์—ด์˜ ์‹œ์ž‘์€ 0์ด๊ณ  ์Šค์œ„์น˜ ๋ฒˆํ˜ธ๋Š” 1๋ถ€ํ„ฐ ์‹œ์ž‘์ด๋‹ˆ๊นŒ, ์ธ๋ฑ์Šค๋ฅผ ๋จผ์ € ๋งžํ˜€์ฃผ์ž.๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฐฐ์—ด ๋งจ ์•ž์— -1 ๊ฐ™์€ ๋”๋ฏธ ๊ฐ’์„ ์ถ”๊ฐ€ํ•ด ์คฌ๋‹ค. - ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์ค‘๋ณต๋˜์–ด ์‚ฌ์šฉ๋˜๋ฏ€๋กœ, ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ–ˆ๋‹ค. ์ฒ˜์Œ ๋ฌธ์ œ ํ’€ ๋•Œ๋Š” ๊ทธ๋ƒฅ ํ’€๊ธด ํ–ˆ๋‹ค.์ „์ฒด ์ฝ”๋“œimport sysN = int(input())switchs = [-1] + [int(x) for x in sys.stdin.readline().rstrip().split()]students = int(input())def ..
[๋ฐฑ์ค€] 4963 ์„ฌ์˜ ๊ฐœ์ˆ˜ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/4963ํ”ํ•œ ๊ตฌ์—ญ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ. ๊ทผ๋ฐ ํŠน์ดํ•œ ๊ฑด ๋Œ€๊ฐ์„ ๋„ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๊ฑธ๋กœ ์ƒ๊ฐํ•ด์•ผ ํ•˜๋Š” ๊ฒŒ ํŠน์ดํ•˜๋‹ค. ๊ทธ๊ฒƒ๋งŒ ์ƒ๊ฐํ•˜๋ฉด ๋‚˜๋จธ์ง„ ์‰ฌ์šด ๋ฌธ์ œ.์•„์ด๋””์–ด- ์ผ๋ฐ˜์ ์ธ ์ƒํ•˜์ขŒ์šฐํƒ์ƒ‰์—์„œ ์ถ”๊ฐ€๋กœ ๋Œ€๊ฐ์„  ๋ฐฉํ–ฅ๋„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.์ „์ฒด ์ฝ”๋“œimport syssys.setrecursionlimit(10**6)dx = [0, 0, 1, -1, 1, -1, 1, -1]dy = [1, -1, 0, 0, 1, -1, -1, 1]def dfs(x, y): if x = H or y = W: return False #print(x, y) if island[x][y] == 1: island[x][y] = 0 dfs(x, y + ..
[๋ฐฑ์ค€] 30804 ๊ณผ์ผ ํƒ•ํ›„๋ฃจ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/30804 ์‹ค๋ฒ„2 ๋ผ๋Š” ๊ฒŒ ๋ฏฟ๊ธฐ์ง€ ์•Š๋Š” ๋ฌธ์ œ. ๋‚ด๊ฐ€ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ๊ฐœ๋…์„ ๋ชฐ๋ž๋‹ค๋ฉด ๋ชป ํ’€์—ˆ์„ ๊ฑฐ ๊ฐ™๋‹ค.์ด๊ฑด ์™œ ์‹ค๋ฒ„์— ์žˆ์„๊นŒ ์•„์ด๋””์–ด- ๋ฌธ์ œ์—์„œ ์ œ์‹œํ•˜๋Š” ๊ณผ์ผ ๋‘๊ฐœ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ํˆฌ ํฌ์ธํŠธ ๊ฐœ๋…์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ์ž‘์€ N์˜ ํฌ๊ธฐ(200000), ๋„๋„ํ•œ ์‹œ๊ฐ„์ œํ•œ(2์ดˆ), ๊ทธ๋ฆฌ๊ณ  ์ ์€ ๊ณผ์ผ ๊ฐœ์ˆ˜(์ตœ๋Œ€ 9๊ฐœ)๋ฅผ ๋ณด๊ณ  ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ๊ณ„์‚ฐํ•ด๋„ ๊ดœ์ฐฎ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ๋ฅผ ์ƒ๊ฐํ•˜๋ฉฐ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ๊ธธ์ด๊ฐ€ ๊ธด ๊ฒฝ์šฐ๋ฅผ ์ฐพ์•˜๋‹ค. -  ๊ณผ์ผ ์ข…๋ฅ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•  ๋•Œ ํŽธํ•˜๋ ค๊ณ  ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.์ „์ฒด ์ฝ”๋“œN = int(input())tangList = list(map(int, input().split()..
[๋ฐฑ์ค€] 2563 ์ƒ‰์ข…์ด (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
2563๋ฒˆ: ์ƒ‰์ข…์ด ์ฒซ์งธ ์ค„์— ์ƒ‰์ข…์ด์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด์–ด ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ƒ‰์ข…์ด๋ฅผ ๋ถ™์ธ ์œ„์น˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ƒ‰์ข…์ด๋ฅผ ๋ถ™์ธ ์œ„์น˜๋Š” ๋‘ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋กœ ์ฃผ์–ด์ง€๋Š”๋ฐ ์ฒซ ๋ฒˆ์งธ ์ž์—ฐ์ˆ˜๋Š” ์ƒ‰์ข…์ด์˜ ์™ผ์ชฝ ๋ณ€ www.acmicpc.net 2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™œ์šฉํ•œ ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ. ์•„์ด๋””์–ด ์–ธ๋œป ๋ณด๊ธฐ์— ๊ท€์ฐฎ์€ ๋ฌธ์ œ๋ผ๊ณ  ๋Š๊ปด์งˆ ์ˆ˜ ์žˆ๋‹ค. ๊ทผ๋ฐ ๋ฌธ์ œ์—์„œ ์ œ๊ณต๋œ ๋ฒ”์œ„๊ฐ€ 100 100์ด๋ผ๋Š” ๋งค์šฐ ์ž‘์€ ๋ฒ”์œ„์ด๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ๋Š” ๋ชจ๋“  ์ขŒํ‘œ๋ฅผ 2์ฐจ์œˆ ๋ฆฌ์ŠคํŠธ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋จผ์ € 100 * 100 ์˜ ์ด์ฐจ์› ๋ฆฌ์ŠคํŠธ์—์„œ ๊ฐ’์„ ์ „๋ถ€ False๋กœ ์„ ์–ธํ•ด ์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ ์ƒ‰์ข…์ด๊ฐ€ ์žˆ๋Š” ์˜์—ญ์˜ ์ขŒํ‘œ๋“ค์„ True๋กœ ๋ฐ”๊ฟ”์ฃผ๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ True์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด์„œ ์ถœ๋ ฅํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์ „์ฒด ์ฝ”๋“œ N = int(input()) paper..
[๋ฐฑ์ค€] 7579 ์•ฑ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
7579๋ฒˆ: ์•ฑ ์ž…๋ ฅ์€ 3์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ฒซ ์ค„์—๋Š” ์ •์ˆ˜ N๊ณผ M์ด ๊ณต๋ฐฑ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง€๋ฉฐ, ๋‘˜์งธ ์ค„๊ณผ ์…‹์งธ ์ค„์—๋Š” ๊ฐ๊ฐ N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๊ณต๋ฐฑ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์˜ N๊ฐœ์˜ ์ •์ˆ˜๋Š” ํ˜„์žฌ ํ™œ www.acmicpc.net ๋ƒ…์ƒ‰ ์‘์šฉ๋ฌธ์ œ. ์•„์ด๋””์–ด ๋ƒ…์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ธฐ๋ณธ ์›๋ฆฌ๋ฅผ ์ด์šฉํ•ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์ฐจ์› ๋ฆฌ์ŠคํŠธ backpack[x][y]๋Š” x๋ฒˆ์งธ ์•ฑ๊นŒ์ง€ y๋น„์šฉ์œผ๋กœ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ’์ด๋‹ค. 1. ์—ด์˜ ํฌ๊ธฐ๋Š” ์ œ์‹œ๋œ ๋ชจ๋“  ๋น„์šฉ์˜ ์ดํ•ฉ์œผ๋กœ ํ•œ๋‹ค. 2 - 1. ํ˜„์žฌ ์•ฑ์˜ ๋น„์šฉ costList [i]๊ฐ€ j๋ณด๋‹ค ํฌ๋ฉด ๊ทธ๋Œ€๋กœ ๋‘”๋‹ค. backpack[i][j] = backpack[i - 1][j] 2 - 2. j ๊ฐ€ ๋” ํฌ๋ฉด ํ˜„์žฌ ์•ฑ์˜ ์œ ๋ฌด๋ฅผ ๋น„๊ตํ•ด ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•ด์ค€๋‹ค. backpack[i..
[๋ฐฑ์ค€] 4179 ๋ถˆ! (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
4179๋ฒˆ: ๋ถˆ!์ž…๋ ฅ์˜ ์ฒซ์งธ ์ค„์—๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๋‘ ์ •์ˆ˜ R๊ณผ C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹จ, 1 ≤ R, C ≤ 1000 ์ด๋‹ค. R์€ ๋ฏธ๋กœ ํ–‰์˜ ๊ฐœ์ˆ˜, C๋Š” ์—ด์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ๋‹ค์Œ ์ž…๋ ฅ์œผ๋กœ R์ค„๋™์•ˆ ๊ฐ๊ฐ์˜ ๋ฏธ๋กœ ํ–‰์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ๋ฌธ์žwww.acmicpc.net ๋ฐ˜๋‚˜์ ˆ ์‚ฝ์งˆํ•œ BFS๋ฌธ์ œ. ๋ฌธ์ œ๊ฐ€ ์–ด๋ ต๊ฒŒ ๋Š๊ปด์ง€์ง„ ์•Š์•˜๋Š”๋ฐ ์‹œ๊ฐ„์ดˆ๊ณผ, ๋ฉ”๋ชจ๋ฆฌ์ดˆ๊ณผ ๋“ฑ๋“ฑ ์˜ค๋‹ตํŒŒํ‹ฐ๊ฐ€ ๋๋‹ค.์•„์ด๋””์–ด- ๋ฌธ์ œ์—์„œ ํƒˆ์ถœ ์กฐ๊ฑด์ด ๊ฐ€์žฅ์ž๋ฆฌ์— ์ ‘ํ•œ ๊ณต๊ฐ„์—์„œ ํƒˆ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด ๋ง์€ ์ง€ํ›ˆ์ด๊ฐ€ ๊ฐ€์žฅ์ž๋ฆฌ์— ๋„์ฐฉ๋งŒ ํ•˜๋ฉด ์ž๋™์œผ๋กœ ํƒˆ์ถœ ๊ฐ€๋Šฅํ•˜๋‹ค. - ์ˆœ์„œ๋Š” ์ง€ํ›ˆ์ด๊ฐ€ ํ•œ๋ฒˆ ์ด๋™ํ•˜๊ณ  ๋‚˜์„œ ๋ถˆ์ด ํ™•์‚ฐ๋˜๊ณ  1์ดˆ๊ฐ€ ์ง€๋‚œ๋‹ค. - ๋งŒ์•ฝ ์ง€ํ›ˆ์ด๊ฐ€ ์ด๋™ํ•œ ํ›„ ์œ„์น˜์— ๋ถˆ์ด ๋ฒˆ์ง„๋‹ค๋ฉด ๊ทธ๊ณณ์€ ๋ชป ๊ฐ€๋Š” ์œ„์น˜์ด๋‹ค. - ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ์ง€ํ›ˆ๊ณผ ๋ถˆ ๊ฐ๊ฐ์˜ ํ๋ฅผ ๋งŒ๋“ค์–ด์„œ..
[๋ฐฑ์ค€] 2212 ์„ผ์„œ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
2212๋ฒˆ: ์„ผ์„œ ์ฒซ์งธ ์ค„์— ์„ผ์„œ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 10,000), ๋‘˜์งธ ์ค„์— ์ง‘์ค‘๊ตญ์˜ ๊ฐœ์ˆ˜ K(1 ≤ K ≤ 1000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์…‹์งธ ์ค„์—๋Š” N๊ฐœ์˜ ์„ผ์„œ์˜ ์ขŒํ‘œ๊ฐ€ ํ•œ ๊ฐœ์˜ ์ •์ˆ˜๋กœ N๊ฐœ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ์ขŒํ‘œ ์‚ฌ์ด์—๋Š” ๋นˆ ์นธ์ด ํ•˜๋‚˜ ์žˆ www.acmicpc.net ๋ฌธ์ œ ํ•ด์„์„ ์ž˜ํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ. ์•„์ด๋””์–ด ๋จผ์ € ๋ฌธ์ œ๊ฐ€ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์„ ์ดํ•ดํ•˜๋Š” ๊ฒŒ ํ•„์š”ํ•˜๋‹ค. ๋ฌธ์ œ์—์„œ๋Š” ๊ฐ ์ง‘์ค‘๊ตญ์˜ ์ˆ˜์‹  ๊ฐ€๋Šฅ์˜์—ญ์˜ ๊ฑฐ๋ฆฌ์˜ ํ•ฉ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋ผ๊ณ  ํ–ˆ๋‹ค. ์ด๋Š” ์•„๋ž˜ ์˜ˆ์ œ๋ฅผ ๋ณด๋ฉฐ ์„ค๋ช…ํ•ด ๋ณด๋ฉด, ์ด๋Ÿฐ ์‹์œผ๋กœ ๊ฐ ์„ผ์„œ๋“ค์„ ์ปค๋ฒ„ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ ์˜์—ญ์˜ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์•Œ๋‹ค์‹œํ”ผ ๋ฌธ์ œ์˜ ๋‹ต์„ ๊ตฌํ•  ๋•Œ ์„ผ์„œ์˜ ์œ„์น˜๋Š” ๊ฒน์ณ๋„ ์ƒ๊ด€์—†๋‹ค. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด, ์„ผ์„œ๋“ค์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ๋จผ ๊ณณ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์ง€์›Œ์ฃผ๋ฉด ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค..
[๋ฐฑ์ค€] 16918 ๋ด„๋ฒ„๋งจ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
16918๋ฒˆ: ๋ด„๋ฒ„๋งจ์ฒซ์งธ ์ค„์— R, C, N (1 ≤ R, C, N ≤ 200)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ R๊ฐœ์˜ ์ค„์— ๊ฒฉ์žํŒ์˜ ์ดˆ๊ธฐ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋นˆ ์นธ์€ '.'๋กœ, ํญํƒ„์€ 'O'๋กœ ์ฃผ์–ด์ง„๋‹ค.www.acmicpc.net  BFS๋Š๋‚Œ์˜ ๊ตฌํ˜„ ๋ฌธ์ œ์•„์ด๋””์–ดํญํƒ„์„ ์ถ”๊ฐ€ํ•˜๊ณ  ํ„ฐํŠธ๋ฆฌ๋Š” ๊ณผ์ •์—์„œ ํ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŽธํ•  ๊ฑฐ ๊ฐ™์•„ deque๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. 1์ดˆ๋งˆ๋‹ค ์–ด๋–ป๊ฒŒ ๊ฒฉ์žํŒ์˜ ๋ณ€ํ•˜๋Š”์ง€ ์ƒ๊ฐํ•˜๋ฉฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.์ „์ฒด ์ฝ”๋“œfrom collections import dequedx = [0, 0, -1, 1]dy = [1, -1, 0, 0]grid = [] # ๊ฒฉ์žํŒboomList = deque() # ํญํƒ„ ์ขŒํ‘œ ๋ฆฌ์ŠคํŠธR, C, N = map(int, input().split())for i in range(R): # ๊ฒฉ์žํŒ ..