์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    [Python] ๋ฐฑ์ค€ 9655 ๋Œ ๊ฒŒ์ž„ | DP

    ~๋ชฉ์ฐจ~ ๋ฌธ์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œ https://www.acmicpc.net/problem/9655 9655๋ฒˆ: ๋Œ ๊ฒŒ์ž„ ์ƒ๊ทผ์ด๊ฐ€ ๊ฒŒ์ž„์„ ์ด๊ธฐ๋ฉด SK๋ฅผ, ์ฐฝ์˜์ด๊ฐ€ ๊ฒŒ์ž„์„ ์ด๊ธฐ๋ฉด CY์„ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ - DP(๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ) - ๊ธฐ๋ก์„ ์œ„ํ•œ dp ๋ฐฐ์—ด : 0์€ SK, 1์€ CY๋ฅผ ์˜๋ฏธ - N์ด 1์ผ ๋•Œ : SK N์ด 2์ผ ๋•Œ : SK -> CY N์ด 3์ผ ๋•Œ : SK ๋˜๋Š” SK -> CY -> SK ์ด๋ฏ€๋กœ ๊ฒฐ๋ก ์ ์œผ๋กœ SK N์ด 4์ผ ๋•Œ : 1์ผ ๋•Œ ๊ฒฐ๊ณผ์™€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ ๋˜๋Š” 3์ผ ๋•Œ ๊ฒฐ๊ณผ์™€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ, ๊ฒฐ๋ก ์ ์œผ๋กœ CY ...... - ์ ํ™”์‹ N์ด 4์ด์ƒ์ผ ๋•Œ, ai = (ai-1 + 1) % 2 ๋˜๋Š” ai = (ai-3 + 1) % 2 ์ž‘์„ฑ ์ฝ”๋“œ ..

    [Python] ๋ฐฑ์ค€ 2579 ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ | DP

    ~๋ชฉ์ฐจ~ ๋ฌธ์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œ https://www.acmicpc.net/problem/2579 2579๋ฒˆ: ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ ๊ฒŒ์ž„์€ ๊ณ„๋‹จ ์•„๋ž˜ ์‹œ์ž‘์ ๋ถ€ํ„ฐ ๊ณ„๋‹จ ๊ผญ๋Œ€๊ธฐ์— ์œ„์น˜ํ•œ ๋„์ฐฉ์ ๊นŒ์ง€ ๊ฐ€๋Š” ๊ฒŒ์ž„์ด๋‹ค. ๊ณผ ๊ฐ™์ด ๊ฐ๊ฐ์˜ ๊ณ„๋‹จ์—๋Š” ์ผ์ •ํ•œ ์ ์ˆ˜๊ฐ€ ์“ฐ์—ฌ ์žˆ๋Š”๋ฐ ๊ณ„๋‹จ์„ ๋ฐŸ์œผ๋ฉด ๊ทธ ๊ณ„๋‹จ์— ์“ฐ์—ฌ ์žˆ๋Š” ์  www.acmicpc.net ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ - ์ตœ๋Œ€ 300๊ฐœ ๊ณ„๋‹จ์˜ ์ ์ˆ˜๋ฅผ ๊ธฐ๋กํ•  ๋ฐฐ์—ด ๋ฏธ๋ฆฌ ์„ ์–ธ - ๊ณ„๋‹จ ๋ณ„ ์ ์ˆ˜ ๊ธฐ๋ก ๋ฐฐ์—ด๊ณผ dp ๊ธฐ๋ก์„ ์ €์žฅํ•  ๋ฐฐ์—ด 2๊ฐœ ํ•„์š” - ๊ณ„๋‹จ 1 : ๋ณธ์ธ ์ ์ˆ˜ ๊ณ„๋‹จ 2 : ๊ณ„๋‹จ 1 + ๋ณธ์ธ ์ ์ˆ˜ ๊ณ„๋‹จ 3 : max(๊ณ„๋‹จ 1 + ๋ณธ์ธ , ๊ณ„๋‹จ 2 + ๋ณธ์ธ) - ์ ํ™”์‹ : max( ๋ณธ์ธ ์ด์ „ ๊ณ„๋‹จ ๋ฐŸ๊ณ  ๋ณธ์ธ , ๋ณธ์ธ ์ด์ „ ๊ณ„๋‹จ ๋ฐŸ์ง€ ์•Š๊ณ  ๋ณธ์ธ) ai = ma..

    [Python] ๋ฐฑ์ค€ 1966 ํ”„๋ฆฐํ„ฐ ํ

    ~๋ชฉ์ฐจ~ ๋ฌธ์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œ https://www.acmicpc.net/problem/1966 1966๋ฒˆ: ํ”„๋ฆฐํ„ฐ ํ ์—ฌ๋Ÿฌ๋ถ„๋„ ์•Œ๋‹ค์‹œํ”ผ ์—ฌ๋Ÿฌ๋ถ„์˜ ํ”„๋ฆฐํ„ฐ ๊ธฐ๊ธฐ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ์ธ์‡„ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์„œ๋ฅผ ์ธ์‡„ ๋ช…๋ น์„ ๋ฐ›์€ ‘์ˆœ์„œ๋Œ€๋กœ’, ์ฆ‰ ๋จผ์ € ์š”์ฒญ๋œ ๊ฒƒ์„ ๋จผ์ € ์ธ์‡„ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌธ์„œ๊ฐ€ ์Œ“์ธ๋‹ค๋ฉด Queue ์ž๋ฃŒ๊ตฌ์กฐ์— www.acmicpc.net ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ - ์ž๋ฃŒ๊ตฌ์กฐ ํ - ์ˆœ์„œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘๊ฐœ์˜ ๋ณ€์ˆ˜๋ฅผ ์ž˜ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ธ์ง€ํ•˜์—ฌ์•ผํ•œ๋‹ค. * ๋‚จ์€ ์šฐ์„ ์ˆœ์œ„ ์ค‘ ์ตœ๋Œ€๊ฐ’์ด๋ฏ€๋กœ ์ถœ๋ ฅํ•˜๋Š” ์ˆœ์„œ * ์ดˆ๊ธฐ ํ์˜ ๊ฐ ๋ฌธ์„œ ์ˆœ์„œ - ํ์— (์ค‘์š”๋„, ์œ„์น˜) ๊ฐ’์„ ์‚ฝ์ž…ํ•œ๋‹ค. ์œ„์น˜๊ฐ’์„ ์‚ฝ์ž…ํ•˜๋Š” ์ด์œ ๋Š” M๊ณผ ๋น„๊ตํ•˜์—ฌ ์ฐพ๋Š” ๋ฌธ์„œ์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•จ - ์ดˆ๊ธฐ ํ๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค. ๋งค๋ฒˆ ํ์˜ ์ตœ๋Œ€๊ฐ’์„ ๊ตฌํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค..

    [Python] ๋ฐฑ์ค€ 16953 A -> B | ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ | BFS

    ~๋ชฉ์ฐจ~ ๋ฌธ์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œ https://www.acmicpc.net/problem/16953 16953๋ฒˆ: A → B ์ฒซ์งธ ์ค„์— A, B (1 ≤ A < B ≤ 109)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ - ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜, BFS - ์ž…๋ ฅ ๊ฐ’์— ๋Œ€ํ•ด์„œ ๋‘๊ฐœ์˜ ์—ฐ์‚ฐ์„ ์—ฐ์‡„์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•จ์œผ๋กœ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜ ํ™•์ธ - ์›ํ•˜๋Š” ๊ฐ’์ด ๋ฐœ๊ฒฌ๋˜๋ฉด ์ถœ๋ ฅ ํ›„ ์ฆ‰์‹œ ์ข…๋ฃŒ( ๊ฐ€์žฅ ๋จผ์ € ๋ฐœ๊ฒฌ๋˜๋Š” ์—ฐ์‚ฐ ํšŸ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ์—ฐ์‚ฐ์ด๋ฏ€๋กœ) : ๊ทธ๋ฆฌ๋”” - ์—ฐ์‚ฐ ๊ฐ’์ด ํƒ€์ผ“ ๊ฐ’๋ณด๋‹ค ํฌ๋‹ค๋ฉด ํ•ด๋‹น ์„œ๋ธŒ ํŠธ๋ฆฌ์— ๋Œ€ํ•ด์„œ ๋”์ด์ƒ ํƒ์ƒ‰ํ•˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค. ์ž‘์„ฑ ์ฝ”๋“œ from collections import deque a, b = map(int, input().split()) que = deque() #..

    [Python] ๋ฐฑ์ค€ 1003 ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜ | DP

    ~๋ชฉ์ฐจ~ ๋ฌธ์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œ https://www.acmicpc.net/problem/1003 1003๋ฒˆ: ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜ ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค 0์ด ์ถœ๋ ฅ๋˜๋Š” ํšŸ์ˆ˜์™€ 1์ด ์ถœ๋ ฅ๋˜๋Š” ํšŸ์ˆ˜๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ - DP - ์ž…๋ ฅ๊ฐ’(1~40) ์— ๋”ฐ๋ผ 0๊ณผ 1์ด ๋ถˆ๋ฆฐ ํšŸ์ˆ˜๋ฅผ ์ ํ™”์‹์„ ์ด์šฉํ•˜์—ฌ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค - ์ž…๋ ฅ๊ฐ’ 0์€ 0์ด 1ํšŒ/1์ด 0ํšŒ ๋ถˆ๋ฆฐ๋‹ค. ์ž…๋ ฅ๊ฐ’ 1์€ 0์ด 0ํšŒ/1์ด 1ํšŒ ๋ถˆ๋ฆฐ๋‹ค. - ์ž…๋ ฅ๊ฐ’์ด 2๋ผ๋ฉด f(2) = f(1) + f(0) ์ด๋ฏ€๋กœ 1์ด ํ•œ ๋ฒˆ, 0์ด ํ•œ ๋ฒˆ ๋ถˆ๋ฆฐ๋‹ค. - ์ž…๋ ฅ๊ฐ’์ด 3์ด๋ผ๋ฉด f(3) = f(2) + f(1) ์ด๋ฏ€๋กœ f(2) ์‹คํ–‰์‹œ 1ํ•œ ๋ฒˆ, 0 ํ•œ ๋ฒˆ ๋ถˆ๋ฆฐ ๊ฒƒ๊ณผ 1์ด ํ•œ ๋ฒˆ ๋ถˆ๋ฆฐ ๊ฒƒ์„ ๋”ํ•˜๋ฉด 1์ด 2๋ฒˆ..

    [Python] ๋ฐฑ์ค€ 9095 1, 2, 3 ๋”ํ•˜๊ธฐ | DP

    ~๋ชฉ์ฐจ~ ๋ฌธ์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œ https://www.acmicpc.net/problem/9095 9095๋ฒˆ: 1, 2, 3 ๋”ํ•˜๊ธฐ ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค, n์„ 1, 2, 3์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ - DP(๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ)์˜ ์ „ํ˜•์ ์ธ ๋ฌธ์ œ์ด๋‹ค - DP๋Š” ํ•œ๋ฒˆ ์ง„ํ–‰ํ•œ ๊ณ„์‚ฐ์— ๋Œ€ํ•ด์„œ ์ €์žฅ ํ•ด๋‘๊ณ  ๋˜ ๋ฐœ์ƒ์‹œ ๊ณ„์‚ฐ ๊ฐ’๋งŒ ์‚ฌ์šฉํ•œ๋‹ค. - ํ•ด๋‹น ์ฝ”๋“œ์—์„œ numbers ๋ฐฐ์—ด์€ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ ๊ฐ’์„ ์ €์žฅํ•ด๋‘๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. - 1, 2, 3์„ ์ด์šฉํ•˜์—ฌ 1, 2, 3์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•ด๋ณด์ž 1 = 1 1์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ 1๊ฐœ(numbers[1] = 1) 2 = 1 + 1 2 = 2 2๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ 2๊ฐœ(numbers[2] = 2) 3 ..