Skip to content

Conversation

@hyeokbini
Copy link
Collaborator

@hyeokbini hyeokbini commented Sep 10, 2025

๐Ÿ”— ๋ฌธ์ œ ๋งํฌ

์‹ค๋ฒ„ 2
๋Œ ๊ฒŒ์ž„ 4

โœ”๏ธ ์†Œ์š”๋œ ์‹œ๊ฐ„

25๋ถ„

โœจ ์ˆ˜๋„ ์ฝ”๋“œ

์ตœ๊ทผ์— ๊ฐ€์ ธ์˜จ ๋ฌธ์ œ๋“ค์— ๋น„ํ•ด์„œ๋Š” ๋น„๊ต์  ๋‚ฎ์€ ๋‚œ์ด๋„์˜ ๋ฌธ์ œ๋ฅผ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. ๊ณจ๋“œ์—์„œ ๋ฌธ์ œ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๊ณจ๋ผ์„œ ํ‘ธ๋Š” ๊ฒƒ๋ณด๋‹ค ์‹ค๋ฒ„ 1~2์—์„œ ๋žœ๋ค ๊ฒ€์ƒ‰์œผ๋กœ ํƒœ๊ทธ ์•ˆ ๊นŒ๊ณ  ๋ฌธ์ œ ํ‘ธ๋Š” ์—ฐ์Šต์„ ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ์‹œ๋„์ธ๋ฐ ๋ฌธ์ œ๊ฐ€ ๋ฌ˜ํ•˜๊ฒŒ ๋ฐฐ์šธ ์ ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ๊ฐ€์ ธ์™€ ๋ดค์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ์—์„œ ๋ญ”๊ฐ€ ์ต์ˆ™ํ•œ ๋А๋‚Œ์ด ๋‚˜๋Š”๋ฐ, ๋ฐฐ์Šคํ‚จ๋ผ๋นˆ์Šค 31 ๊ฒŒ์ž„์ด๋ž‘ ๋˜‘๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฐฐ์Šคํ‚จ๋ผ๋นˆ์Šค์—์„œ 31์„ ์™ธ์น˜๋ฉด ์ง€๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, ๋ฌธ์ œ์—์„œ๋Š” ๋งˆ์ง€๋ง‰ ๋Œ์„ ๊ฐ€์ ธ๊ฐ€๋ฉด ์ง€๋Š” ๊ทœ์น™์ผ ๋•Œ, ์ˆซ์ž๊ฐ€ ์ œ์‹œ๋˜๊ณ  ๋ชจ๋‘ ์ตœ์ ์˜ ๋ฐฉ๋ฒ•์„ ์ผ์„ ๋•Œ ๋ˆ„๊ฐ€ ์Šน๋ฆฌํ•˜๋Š”์ง€๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์ผ๋‹จ ์–ด๋–ป๊ฒŒ ํ’€์ง€๋ฅผ ์ƒ๊ฐํ•ด ๋ดค์„ ๋•Œ, ๋ธŒ๋ฃจํŠธํฌ์Šค๋Š” ๋ง์ด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ์ˆซ์ž๋งˆ๋‹ค ์„ ํƒ์ง€๊ฐ€ 3๊ฐœ๊ฐ€ ์žˆ๋‹ค๊ณ  ๋Ÿฌํ”„ํ•˜๊ฒŒ๋งŒ ์ƒ๊ฐํ•ด๋„ ์ตœ์•…์˜ ๊ฒฝ์šฐ 3^1000์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๋ฐฉ๋ฒ•์€ ์‚ฌ์šฉํ•ด์„  ์•ˆ ๋˜๊ณ , ๊ทœ์น™์„ฑ์„ ๊ด€์ฐฐํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์šฐ์„  ๊ตฌ์ฒด์ ์ธ ์‚ฌ๋ก€๋ฅผ ์ƒ๊ฐํ•˜๊ธฐ ์ „์—, ์–ด๋–ค ์ƒํƒœ(๋Œ์ด n๊ฐœ ๋‚จ์€ ์ƒํƒœ) ์—์„œ ๋‹ค๋ฅธ ์ƒํƒœ(๋Œ์ด n - 1, n - 3, n - 4๊ฐœ ๋‚จ์€ ์ƒํƒœ) ๋กœ ๊ฐ”์„ ๋•Œ, ์ด์ „์— n - 1, n - 3, n - 4์˜ ์‚ฌ๋ก€๋ฅผ ๊ตฌํ•ด๋‘์—ˆ๋‹ค๋ฉด, n์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค ๊ฐ€ ์ถฉ์กฑ๋œ๋‹ค๋ฉด, ์ „ํ˜•์ ์ธ DP ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ตฌ์ฒด์ ์ธ ์‚ฌ๋ก€๋ฅผ ํ†ตํ•ด ๊ฐ€์„ค์ด ๋งž๋Š”์ง€ ์ง์ ‘ ํ™•์ธํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์šฐ์„  ๋Œ์„ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ 1, 3, 4๊ฐœ์ด๋ฏ€๋กœ ๊ธฐ์ € ์‚ฌ๋ก€๋ฅผ n = 4๊นŒ์ง€๋Š” ๋งŒ๋“ค์–ด ๋ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

  • n = 1์ธ ๊ฒฝ์šฐ, ๋‹น์—ฐํžˆ ์ƒ๊ทผ์ด ์ง‘๋‹ˆ๋‹ค. ๋Œ์ด ํ•˜๋‚˜ ๋‚จ์•˜๋Š”๋ฐ ํ•˜๋‚˜๋ฐ–์— ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์—†์œผ๋‹ˆ๊นŒ์š”.
  • n = 2์ธ ๊ฒฝ์šฐ, ์ฐฝ์˜์ด ์ง‘๋‹ˆ๋‹ค. ์ด ์ƒํ™ฉ์—์„œ๋Š” ๊ฐ•์ œ๋˜๋Š” ์ˆ˜๊ธด ํ•˜์ง€๋งŒ, ์ฐฝ์˜์„ ํŒจ๋ฐฐ์‹œํ‚ค๋Š” ์ตœ์„ ์˜ ์ˆ˜์ธ 1๊ฐœ๋ฅผ ๊ฐ€์ ธ๊ฐ„๋‹ค ๋ผ๋Š” ์„ ํƒ์ง€๋ฅผ ๊ณ ๋ฅด๋ฉด ์ฐฝ์˜์ด ๊ฐ•์ œ๋กœ ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • n = 3์ธ ๊ฒฝ์šฐ, ์ƒ๊ทผ์ด ์ง‘๋‹ˆ๋‹ค. 1๊ฐœ๋ฅผ ๊ฐ€์ ธ๊ฐ„๋‹ค๋ฉด ์ƒ๊ทผ - ์ฐฝ์˜ - ์ƒ๊ทผ์˜ ์ˆœ์„œ๋กœ ๋Œ์„ ๊ฐ€์ ธ๊ฐ€ ํŒจ๋ฐฐํ•˜๊ณ , 3๊ฐœ๋ฅผ ๊ฐ€์ ธ๊ฐ„๋‹ค๋ฉด ์ž์—ฐํžˆ ํŒจ๋ฐฐํ•ฉ๋‹ˆ๋‹ค.
  • n = 4์ธ ๊ฒฝ์šฐ, ์ฐฝ์˜์ด ์ง‘๋‹ˆ๋‹ค. ์ˆ˜๊ทผ์ด 3๊ฐœ๋ฅผ ๊ฐ€์ ธ๊ฐ€๋ฉด ์ฐฝ์˜์ด ๋งˆ์ง€๋ง‰ ๋Œ์„, ์ˆ˜๊ทผ์ด 1๊ฐœ๋ฅผ ๊ฐ€์ ธ๊ฐ€๋ฉด ์ฐฝ์˜ 3๊ฐœ or ์ฐฝ์˜ - ์ˆ˜๊ทผ - ์ฐฝ์˜์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋กœ ์ฐฝ์˜์ด ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด์ •๋„๋กœ ๊ธฐ์ € ์‚ฌ๋ก€๋ฅผ ๋งŒ๋“  ๋’ค, dpํ…Œ์ด๋ธ”์„ ๊ฐฑ์‹ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์–ด๋–ค ๋กœ์ง์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๊ฐ€? ๋ฅผ ์ƒ๊ฐํ•ด๋ณด๋ฉด, ๋ฌธ์ œ์—์„œ ๋งํ•˜๋Š” ์ตœ์„ ์˜ ์ˆ˜๋ผ๋Š” ๊ฒƒ์€ ๊ฒฐ๊ตญ ์ƒ๋Œ€๋ฐฉ์ด ํŒจ๋ฐฐํ•˜๋Š” ์ˆ˜๋ฅผ ๊ฐ•์ œํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์ˆ˜๋ฅผ ์„ ํƒํ•œ๋‹ค๋ผ๋Š” ๋ง์ด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ ๋ง์€, ์•ž์ชฝ์—์„œ ์ ์—ˆ๋˜ ๋‚จ์€ ๋Œ n๊ฐœ๋ผ๋Š” ์ƒํƒœ์—์„œ n - 1, n - 3, n - 4๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด ์ˆ˜๋“ค ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ตœ์ข…์ ์œผ๋กœ ํŒจ๋ฐฐํ•˜๋Š” ์ˆ˜๋ผ๋ฉด, n์€ ์Šน๋ฆฌ๊ฐ€ ๋ณด์žฅ๋œ ์ˆ˜๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ๊ฑฐ๊พธ๋กœ ์ด์•ผ๊ธฐํ•ด์„œ ๋‚ด๊ฐ€ ์–ด๋–ค ์ˆ˜๋ฅผ ์“ฐ๋”๋ผ๋„ ์ƒ๋Œ€๊ฐ€ ์Šน๋ฆฌํ•˜๋Š” ์ƒํƒœ๊ฐ€ ๋œ๋‹ค๋ฉด, ๊ทธ n๊ฐœ์˜ ๊ฒฝ์šฐ๋Š” ํŒจ๋ฐฐํ•˜๋Š” ์ˆ˜๊ฐ€ ๋œ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

image n = 5๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ ๋‹ค๋ฉด, n = 5์ธ ์ƒํƒœ์—์„œ ์ƒ๊ทผ์€ ๋‚จ์€ ๋Œ 1,2,4๋กœ ์ƒํƒœ๋ฅผ ๋„˜๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ค‘ 1๊ฐœ ๋Œ์ด ๋‚จ๋Š” ๊ฒฝ์šฐ๋Š” ํŒจ๋ฐฐ๊ฐ€ ํ™•์ •๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ๊ฐ€ 3๊ฐœ ๊ฒฝ์šฐ ์ค‘ 1๊ฐœ๋ผ๋„ ์žˆ๋‹ค๋ฉด n = 5์ธ ๊ฒฝ์šฐ๋Š” ์Šน๋ฆฌํ•œ๋‹ค๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ ํ™”์‹์„ ์ด๋ ‡๊ฒŒ ์„ธ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

// ๊ธฐ์ €์‚ฌ๋ก€
    dp[1] = false;
    dp[2] = true;
    dp[3] = false;
    dp[4] = true;
    for(int i = 5; i <= n; i++)
    {
        // ์Šน๋ฆฌ
        if(!dp[i - 4] || !dp[i - 3] || !dp[i - 1])
        {
            dp[i] = true;
        }
        // ํŒจ๋ฐฐ
        else
        {
            dp[i] = false;
        }
    }

๐Ÿ“š ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ๋œ ๋‚ด์šฉ

์ด๋Ÿฐ ๋ถ€๋ฅ˜์˜ ๋ฌธ์ œ์—์„œ ์“ฐ์ด๋Š” ์ด๋ก ์ด ๊ฒŒ์ž„ ์ด๋ก ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ „์— ๊ด€๋ จ๋œ ๋‚ด์šฉ์„ ์ฐพ์•„๋ณธ ์ ์ด ์žˆ๋Š”๋ฐ ๋ฐฑ์ค€ ํƒœ๊ทธ๋กœ ๋งŒ๋‚˜๊ฒŒ ๋˜๋‹ˆ ๋А๋‚Œ์ด ์ƒˆ๋กญ๋„ค์š”.

๊ฒŒ์ž„ ์ด๋ก ์— ๋Œ€ํ•ด ๊ฐ€๋ณ๊ฒŒ ์„ค๋ช…ํ•˜๋Š” ๋‚˜๋ฌด์œ„ํ‚ค ๋งํฌ ํ•˜๋‚˜ ๋‘๊ฒ ์Šต๋‹ˆ๋‹ค! ๋‚ด์šฉ์ด ์žฌ๋ฐŒ์œผ๋‹ˆ ๋ฌธ์ œ ํ‘ธ์‹  ๋‹ค์Œ ํœด์‹ ๊ฒธ ์ฝ์–ด๋ณด์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š” ๐Ÿ˜„

Copy link
Collaborator

@Seol-Munhyeok Seol-Munhyeok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์‹ค๋ฒ„์น˜๊ณ ๋Š” ์ข€ ์–ด๋ ค์šด ๋ฌธ์ œ์ธ ๊ฑฐ ๊ฐ™๊ธดํ•ฉ๋‹ˆ๋‹ค

๋Œ์„ 1๊ฐœ, 3๊ฐœ ๋˜๋Š” 4๊ฐœ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋Œ์ด N๊ฐœ ์žˆ์„ ๋•Œ์™€ N-1, N-3, N-4 ๊ฐœ ์žˆ์„ ๋•Œ๋ฅผ ์ž˜ ๊ด€์ฐฐํ•ด๋ณด๋ฉด ๋‹ต์ด ๋‚˜์˜ฌ ๊ฑฐ๋ผ ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์ผ๋‹จ ์„ ๊ณต์ธ ์ƒ๊ทผ์ด ์ž…์žฅ์—์„œ N=5 ๊นŒ์ง€ ์ด๊ธฐ๋Š”์ง€ ์ง€๋Š”์ง€๋ฅผ ์ƒ๊ฐํ•ด๋ณด๋ฉด

  • N = 1 : ํŒจ๋ฐฐ
  • N = 2 : ์Šน๋ฆฌ
  • N = 3 : ํŒจ๋ฐฐ
  • N = 4 : ์Šน๋ฆฌ
  • N = 5 : ์Šน๋ฆฌ (์ฒ˜์Œ์— 4๊ฐœ ๊ฐ€์ ธ๊ฐ€๋ฉด ๋จ)

์—ฌ๊ธฐ์„œ N=5 ์ผ ๋•Œ, ์ฒ˜์Œ์— 4๊ฐœ ๊ฐ€์ ธ๊ฐ€์„œ ์ฐฝ๊ทผ์ด๊ฐ€ ์ง€๊ฒŒํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ด์œ ๋Š” N-4์ธ 1๊ฐœ ์ผ ๋•Œ ์ƒ๊ทผ์ด๊ฐ€ ์กŒ๊ธฐ ๋•Œ๋ฌธ์— N=5์ผ ๋•Œ ์ด ์ƒํ™ฉ์„ (๋Œ์ด 1๊ฐœ๋งŒ ๋‚จ์€ ์ƒํ™ฉ) ์ฐฝ๊ทผ์ด์—๊ฒŒ ๋„˜๊ฒจ์ฃผ์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ ์•„์ด๋””์–ด๋ฅผ ํ† ๋Œ€๋กœ dp ํ…Œ์ด๋ธ”์„ ๊ตฌ์„ฑํ•ด์„œ ํ’€ ์ˆ˜ ์žˆ๊ณ  ์ €๋„ ๊ทธ๋ ‡๊ฒŒ ํ’€์—ˆ๋Š”๋ฐ ๊ทœ์น™์„ ์กฐ๊ธˆ๋งŒ ๋‚˜์—ดํ•ด๋ณด๋ฉด ์ฃผ๊ธฐ๊ฐ€ 7๋กœ ๊ทœ์น™์ ์œผ๋กœ ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์— N์„ 7๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 1 ๋˜๋Š” 3์ด๋ฉด ์ฐฝ์˜์ด ์Šน, ๊ทธ ์™ธ๋Š” ์ƒ๊ทผ์ด ์Šน ์œผ๋กœ O(1) ํ’€์ด๋„ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.


๊ฒŒ์ž„์ด๋ก  ๋ฌธ์ œ๋ฅผ ๊ฐ€์ ธ์˜ค์…”์„œ ์ƒ๊ฐ๋‚œ ๋ฌธ์ œ์ธ๋ฐ ์žฌ๋ฏธ์žˆ๋Š” ๊ฒŒ์ž„์ด๋ก  ๋ฌธ์ œ ์ค‘ ์•ฝ์ˆ˜ ์ง€์šฐ๊ธฐ ๊ฒŒ์ž„ 1 ์ด๋ผ๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
https://www.acmicpc.net/problem/12107

์ด ๋ฌธ์ œ๋„ ํ’€์–ด๋ณด์‹œ๋ฉด ์ข‹์œผ์‹ค ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค.
"์งˆ ์ˆ˜๋ฐ–์— ์—†๋Š” ์ƒํ™ฉ์„ ์ƒ๋Œ€์—๊ฒŒ ๋„˜๊ธด๋‹ค"๋Š” ์ƒ๊ฐ์œผ๋กœ ์ ‘๊ทผํ•˜๋ฉด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants