๐Ÿงฉ Problem Solving

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

[๋ฐฑ์ค€] 2563 ์ƒ‰์ข…์ด (python ํŒŒ์ด์ฌ)

2563๋ฒˆ: ์ƒ‰์ข…์ด ์ฒซ์งธ ์ค„์— ์ƒ‰์ข…์ด์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด์–ด ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ƒ‰์ข…์ด๋ฅผ ๋ถ™์ธ ์œ„์น˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ƒ‰์ข…์ด๋ฅผ ๋ถ™์ธ ์œ„์น˜๋Š” ๋‘ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋กœ ์ฃผ์–ด์ง€๋Š”๋ฐ ์ฒซ ๋ฒˆ์งธ ์ž์—ฐ์ˆ˜๋Š” ์ƒ‰์ข…์ด์˜ ์™ผ์ชฝ ๋ณ€ www.acmicpc.net 2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™œ์šฉํ•œ ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ. ์•„์ด๋””์–ด ์–ธ๋œป ๋ณด๊ธฐ์— ๊ท€์ฐฎ์€ ๋ฌธ์ œ๋ผ๊ณ  ๋Š๊ปด์งˆ ์ˆ˜ ์žˆ๋‹ค. ๊ทผ๋ฐ ๋ฌธ์ œ์—์„œ ์ œ๊ณต๋œ ๋ฒ”์œ„๊ฐ€ 100 100์ด๋ผ๋Š” ๋งค์šฐ ์ž‘์€ ๋ฒ”์œ„์ด๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ๋Š” ๋ชจ๋“  ์ขŒํ‘œ๋ฅผ 2์ฐจ์œˆ ๋ฆฌ์ŠคํŠธ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋จผ์ € 100 * 100 ์˜ ์ด์ฐจ์› ๋ฆฌ์ŠคํŠธ์—์„œ ๊ฐ’์„ ์ „๋ถ€ False๋กœ ์„ ์–ธํ•ด ์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ ์ƒ‰์ข…์ด๊ฐ€ ์žˆ๋Š” ์˜์—ญ์˜ ์ขŒํ‘œ๋“ค์„ True๋กœ ๋ฐ”๊ฟ”์ฃผ๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ True์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด์„œ ์ถœ๋ ฅํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์ „์ฒด ์ฝ”๋“œ N = int(input()) paper..

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

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

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..

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

[๋ฐฑ์ค€] 4179 ๋ถˆ! (python ํŒŒ์ด์ฌ)

4179๋ฒˆ: ๋ถˆ!์ž…๋ ฅ์˜ ์ฒซ์งธ ์ค„์—๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๋‘ ์ •์ˆ˜ R๊ณผ C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹จ, 1 ≤ R, C ≤ 1000 ์ด๋‹ค. R์€ ๋ฏธ๋กœ ํ–‰์˜ ๊ฐœ์ˆ˜, C๋Š” ์—ด์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ๋‹ค์Œ ์ž…๋ ฅ์œผ๋กœ R์ค„๋™์•ˆ ๊ฐ๊ฐ์˜ ๋ฏธ๋กœ ํ–‰์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ๋ฌธ์žwww.acmicpc.net ๋ฐ˜๋‚˜์ ˆ ์‚ฝ์งˆํ•œ BFS๋ฌธ์ œ. ๋ฌธ์ œ๊ฐ€ ์–ด๋ ต๊ฒŒ ๋Š๊ปด์ง€์ง„ ์•Š์•˜๋Š”๋ฐ ์‹œ๊ฐ„์ดˆ๊ณผ, ๋ฉ”๋ชจ๋ฆฌ์ดˆ๊ณผ ๋“ฑ๋“ฑ ์˜ค๋‹ตํŒŒํ‹ฐ๊ฐ€ ๋๋‹ค.์•„์ด๋””์–ด- ๋ฌธ์ œ์—์„œ ํƒˆ์ถœ ์กฐ๊ฑด์ด ๊ฐ€์žฅ์ž๋ฆฌ์— ์ ‘ํ•œ ๊ณต๊ฐ„์—์„œ ํƒˆ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด ๋ง์€ ์ง€ํ›ˆ์ด๊ฐ€ ๊ฐ€์žฅ์ž๋ฆฌ์— ๋„์ฐฉ๋งŒ ํ•˜๋ฉด ์ž๋™์œผ๋กœ ํƒˆ์ถœ ๊ฐ€๋Šฅํ•˜๋‹ค. - ์ˆœ์„œ๋Š” ์ง€ํ›ˆ์ด๊ฐ€ ํ•œ๋ฒˆ ์ด๋™ํ•˜๊ณ  ๋‚˜์„œ ๋ถˆ์ด ํ™•์‚ฐ๋˜๊ณ  1์ดˆ๊ฐ€ ์ง€๋‚œ๋‹ค. - ๋งŒ์•ฝ ์ง€ํ›ˆ์ด๊ฐ€ ์ด๋™ํ•œ ํ›„ ์œ„์น˜์— ๋ถˆ์ด ๋ฒˆ์ง„๋‹ค๋ฉด ๊ทธ๊ณณ์€ ๋ชป ๊ฐ€๋Š” ์œ„์น˜์ด๋‹ค. - ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ์ง€ํ›ˆ๊ณผ ๋ถˆ ๊ฐ๊ฐ์˜ ํ๋ฅผ ๋งŒ๋“ค์–ด์„œ..

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

[๋ฐฑ์ค€] 2212 ์„ผ์„œ (python ํŒŒ์ด์ฌ)

2212๋ฒˆ: ์„ผ์„œ ์ฒซ์งธ ์ค„์— ์„ผ์„œ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 10,000), ๋‘˜์งธ ์ค„์— ์ง‘์ค‘๊ตญ์˜ ๊ฐœ์ˆ˜ K(1 ≤ K ≤ 1000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์…‹์งธ ์ค„์—๋Š” N๊ฐœ์˜ ์„ผ์„œ์˜ ์ขŒํ‘œ๊ฐ€ ํ•œ ๊ฐœ์˜ ์ •์ˆ˜๋กœ N๊ฐœ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ์ขŒํ‘œ ์‚ฌ์ด์—๋Š” ๋นˆ ์นธ์ด ํ•˜๋‚˜ ์žˆ www.acmicpc.net ๋ฌธ์ œ ํ•ด์„์„ ์ž˜ํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ. ์•„์ด๋””์–ด ๋จผ์ € ๋ฌธ์ œ๊ฐ€ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์„ ์ดํ•ดํ•˜๋Š” ๊ฒŒ ํ•„์š”ํ•˜๋‹ค. ๋ฌธ์ œ์—์„œ๋Š” ๊ฐ ์ง‘์ค‘๊ตญ์˜ ์ˆ˜์‹  ๊ฐ€๋Šฅ์˜์—ญ์˜ ๊ฑฐ๋ฆฌ์˜ ํ•ฉ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋ผ๊ณ  ํ–ˆ๋‹ค. ์ด๋Š” ์•„๋ž˜ ์˜ˆ์ œ๋ฅผ ๋ณด๋ฉฐ ์„ค๋ช…ํ•ด ๋ณด๋ฉด, ์ด๋Ÿฐ ์‹์œผ๋กœ ๊ฐ ์„ผ์„œ๋“ค์„ ์ปค๋ฒ„ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ ์˜์—ญ์˜ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์•Œ๋‹ค์‹œํ”ผ ๋ฌธ์ œ์˜ ๋‹ต์„ ๊ตฌํ•  ๋•Œ ์„ผ์„œ์˜ ์œ„์น˜๋Š” ๊ฒน์ณ๋„ ์ƒ๊ด€์—†๋‹ค. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด, ์„ผ์„œ๋“ค์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ๋จผ ๊ณณ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์ง€์›Œ์ฃผ๋ฉด ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค..

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

[๋ฐฑ์ค€] 16918 ๋ด„๋ฒ„๋งจ (python ํŒŒ์ด์ฌ)

16918๋ฒˆ: ๋ด„๋ฒ„๋งจ ์ฒซ์งธ ์ค„์— R, C, N (1 ≤ R, C, N ≤ 200)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ R๊ฐœ์˜ ์ค„์— ๊ฒฉ์žํŒ์˜ ์ดˆ๊ธฐ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋นˆ ์นธ์€ '.'๋กœ, ํญํƒ„์€ 'O'๋กœ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net BFS๋Š๋‚Œ์˜ ๊ตฌํ˜„ ๋ฌธ์ œ ์•„์ด๋””์–ด ํญํƒ„์„ ์ถ”๊ฐ€ํ•˜๊ณ  ํ„ฐํŠธ๋ฆฌ๋Š” ๊ณผ์ •์—์„œ ํ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŽธํ•  ๊ฑฐ ๊ฐ™์•„ deque๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. 1์ดˆ๋งˆ๋‹ค ์–ด๋–ป๊ฒŒ ๊ฒฉ์žํŒ์˜ ๋ณ€ํ•˜๋Š”์ง€ ์ƒ๊ฐํ•˜๋ฉฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค. ์ „์ฒด ์ฝ”๋“œ from collections import deque dx = [0, 0, -1, 1] dy = [1, -1, 0, 0] grid = [] # ๊ฒฉ์žํŒ boomList = deque() # ํญํƒ„ ์ขŒํ‘œ ๋ฆฌ์ŠคํŠธ R, C, N = map(int, input().split()) for i in range..

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

[๋ฐฑ์ค€] 1697 ์ˆจ๋ฐ”๊ผญ์งˆ (python ํŒŒ์ด์ฌ)

1697๋ฒˆ: ์ˆจ๋ฐ”๊ผญ์งˆ ์ˆ˜๋นˆ์ด๋Š” ๋™์ƒ๊ณผ ์ˆจ๋ฐ”๊ผญ์งˆ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ํ˜„์žฌ ์  N(0 ≤ N ≤ 100,000)์— ์žˆ๊ณ , ๋™์ƒ์€ ์  K(0 ≤ K ≤ 100,000)์— ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ๊ฑท๊ฑฐ๋‚˜ ์ˆœ๊ฐ„์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ, ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๊ฐ€ X์ผ www.acmicpc.net BFS๋ฅผ ํ™œ์šฉํ•œ ์ตœ์†Œ ์‹œ๊ฐ„์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ. ์•„์ด๋””์–ด ํ˜„์žฌ ์œ„์น˜(x)์—์„œ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฑฐ๋ฆฌ๋Š” x - 1, x + 1, x * 2์ด๋‹ค. ๊ฐ ๊ฒฝ์šฐ๋งˆ๋‹ค if๋ฌธ์„ ํ†ตํ•ด ์กฐ๊ฑด์„ ํ™•์ธํ•ด์ค€๋‹ค. ์ด์ „์— ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์œ„์น˜๋ผ๋ฉด ๊ทธ ์œ„์น˜๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„๋“ค์„ BFS๋ฐฉ์‹์œผ๋กœ ์ˆœํšŒํ•˜๋ฉฐ ์‹œ๊ฐ„์„ ์ €์žฅํ•ด์ค€๋‹ค. ์ „์ฒด ์ฝ”๋“œ from collections import deque N, K = map(int, input().split()) deq = deque() deq.a..

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

[๋ฐฑ์ค€] 15666 N๊ณผ M 12 (python ํŒŒ์ด์ฌ)

15666๋ฒˆ: N๊ณผ M (12) ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ˆ˜์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ค‘๋ณต๋˜๋Š” ์ˆ˜์—ด์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ถœ๋ ฅํ•˜๋ฉด ์•ˆ๋˜๋ฉฐ, ๊ฐ ์ˆ˜์—ด์€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ์ˆ˜์—ด์€ ์‚ฌ์ „ ์ˆœ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋กœ ์ถœ๋ ฅํ•ด www.acmicpc.net ๋ฐฑํŠธ๋ž˜ํ‚น ๋ฌธ์ œ ์•„์ด๋””์–ด ์–ด์ฐจํ”ผ ๊ฐ™์€ ์ˆซ์ž๋ฅผ ๋ฐ˜๋ณตํ•ด์„œ ์‚ฌ์šฉํ•ด๋„ ๋˜๋ฏ€๋กœ, ๋ฌธ์ œ์—์„œ ์ œ๊ณตํ•œ N๊ฐœ์˜ ์ˆ˜์—์„œ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•ด ์ค€๋‹ค. ๋ฐฑํŠธ๋ž˜ํ‚น์„ ํ™œ์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉด ๋œ๋‹ค. ์ „์ฒด ์ฝ”๋“œ N, M = map(int, input().split()) numList = [int(x) for x in input().split()] numList = sorted(list(set(numList))) # ์ค‘๋ณต ์ œ๊ฑฐํ›„ ์ •๋ ฌ n = len(numList) answer = list() seq..

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

[๋ฐฑ์ค€] 14940 ์‰ฌ์šด ์ตœ๋‹จ๊ฑฐ๋ฆฌ (python ํŒŒ์ด์ฌ)

14940๋ฒˆ: ์‰ฌ์šด ์ตœ๋‹จ๊ฑฐ๋ฆฌ ์ง€๋„์˜ ํฌ๊ธฐ n๊ณผ m์ด ์ฃผ์–ด์ง„๋‹ค. n์€ ์„ธ๋กœ์˜ ํฌ๊ธฐ, m์€ ๊ฐ€๋กœ์˜ ํฌ๊ธฐ๋‹ค.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) ๋‹ค์Œ n๊ฐœ์˜ ์ค„์— m๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. 0์€ ๊ฐˆ ์ˆ˜ ์—†๋Š” ๋•…์ด๊ณ  1์€ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋•…, 2๋Š” ๋ชฉํ‘œ์ง€์ ์ด www.acmicpc.net ์ง€๋„์—์„œ ๋ชจ๋“  ์ง€์ ์˜ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ. ์•„์ด๋””์–ด BFS๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ง€๋„์—์„œ ์ตœ๋‹จ๊ฑฐ๋ฆฌ == BFS ๊ฑฐ์˜ ๊ณต์‹์ฒ˜๋Ÿผ ๋จธ๋ฆฌ์—์„œ ๋‚˜์˜จ๋‹ค... ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ชฉํ‘œ ์ง€์ (2๋กœ ํ‘œ์‹œ)๊ณผ ๊ฐˆ ์ˆ˜ ์—†๋Š” ๋•…(0์œผ๋กœ ํ‘œ์‹œ)์˜ ์ขŒํ‘œ๋Š” ๋”ฐ๋กœ ์ €์žฅํ•ด ๋‘”๋‹ค. ์ „์ฒด ์ฝ”๋“œ from collections import deque dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] start_x, start_y = 0, 0 ..

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