๐Ÿค” PS(Problem Solving)/๋ฐฑ์ค€(BOJ)

    [๋ฐฑ์ค€] 2193๋ฒˆ - ์ด์นœ์ˆ˜

    ๋ฌธ์ œ ๋ฌธ์ œ0๊ณผ 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ์ˆ˜๋ฅผ ์ด์ง„์ˆ˜๋ผ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์ง„์ˆ˜ ์ค‘ ํŠน๋ณ„ํ•œ ์„ฑ์งˆ์„ ๊ฐ–๋Š” ๊ฒƒ๋“ค์ด ์žˆ๋Š”๋ฐ, ์ด๋“ค์„ ์ด์นœ์ˆ˜(pinary number)๋ผ ํ•œ๋‹ค. ์ด์นœ์ˆ˜๋Š” ๋‹ค์Œ์˜ ์„ฑ์งˆ์„ ๋งŒ์กฑํ•œ๋‹ค.์ด์นœ์ˆ˜๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค.์ด์นœ์ˆ˜์—์„œ๋Š” 1์ด ๋‘ ๋ฒˆ ์—ฐ์†์œผ๋กœ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค. ์ฆ‰, 11์„ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด๋กœ ๊ฐ–์ง€ ์•Š๋Š”๋‹ค.์˜ˆ๋ฅผ ๋“ค๋ฉด 1, 10, 100, 101, 1000, 1001 ๋“ฑ์ด ์ด์นœ์ˆ˜๊ฐ€ ๋œ๋‹ค. ํ•˜์ง€๋งŒ 0010101์ด๋‚˜ 101101์€ ๊ฐ๊ฐ 1, 2๋ฒˆ ๊ทœ์น™์— ์œ„๋ฐฐ๋˜๋ฏ€๋กœ ์ด์นœ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค.N(1 ≤ N ≤ 90)์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, N์ž๋ฆฌ ์ด์นœ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. ์ถœ๋ ฅ์ฒซ์งธ ์ค„์— N์ž๋ฆฌ ์ด์นœ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ํ’€์ด๊ณผ์ • (1)๊ทœ์น™DP์ด๋ฏ€๋กœ ์ ํ™”์‹๊ณผ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ์ด์šฉ..

    [๋ฐฑ์ค€] 11057๋ฒˆ - ์˜ค๋ฅด๋ง‰ ์ˆ˜

    ๋ฌธ์ œ ๋ฌธ์ œ ์˜ค๋ฅด๋ง‰ ์ˆ˜๋Š” ์ˆ˜์˜ ์ž๋ฆฌ๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์„ ์ด๋ฃจ๋Š” ์ˆ˜๋ฅผ ๋งํ•œ๋‹ค. ์ด๋•Œ, ์ธ์ ‘ํ•œ ์ˆ˜๊ฐ€ ๊ฐ™์•„๋„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์นœ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 2234์™€ 3678, 11119๋Š” ์˜ค๋ฅด๋ง‰ ์ˆ˜์ด์ง€๋งŒ, 2232, 3676, 91111์€ ์˜ค๋ฅด๋ง‰ ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค. ์ˆ˜์˜ ๊ธธ์ด N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์˜ค๋ฅด๋ง‰ ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ˆ˜๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— N (1 ≤ N ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ๊ธธ์ด๊ฐ€ N์ธ ์˜ค๋ฅด๋ง‰ ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ 10,007๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ํ’€์ด๊ณผ์ • (1)๊ทœ์น™DP์ด๋ฏ€๋กœ ์ ํ™”์‹๊ณผ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค.์ฒซ์งธ ์ž๋ฆฌ์ˆ˜๋Š” 0~9๋งจ ๋งˆ์ง€๋ง‰ ๊ฐ’์€ 1๋ฐ–์— ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.์˜ค๋ฅด๋ง‰์˜ ๊ฐฏ์ˆ˜๋Š” 10007๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ ์ž…๋‹ˆ๋‹ค. (2)์ˆœ์„œ n=3๊นŒ์ง€์˜ ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๋ด…๋‹ˆ๋‹ค. n..

    [๋ฐฑ์ค€] 10844๋ฒˆ - ์‰ฌ์šด ๊ณ„๋‹จ ์ˆ˜

    ์ฒ˜์Œ์—” ๋ฌธ์ œ๊ฐ€ ์ดํ•ด๊ฐ€ ์•ˆ๋˜์„œ ๋‹จ์ˆœํžˆ 1-9,2-17,3-32, 4-54 ์˜ ์ˆ˜์—ด ๊ทœ์น™์„ ์ด์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ์ž˜๋ชป๋œ ์ ‘๊ทผ์ด์—ˆ๋‹ค.~n์ผ๋•Œ๊นŒ์ง€ i๋ฒˆ์งธ ์ธ๋ฑ์Šค์—์„œ ๋งŒ๋“ค์ˆ˜ ์žˆ๋Š” ๊ณ„๋‹จ์ˆ˜๊ฐฏ์ˆ˜๊ฐ€ ๋ช‡๊ฐœ์ธ์ง€๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ์ ํ™”์‹์„ ๋งŒ๋“ค์–ด์•ผ ํ–ˆ๋‹ค. ๋ฌธ์ œ ๋ฌธ์ œ45656์ด๋ž€ ์ˆ˜๋ฅผ ๋ณด์ž.์ด ์ˆ˜๋Š” ์ธ์ ‘ํ•œ ๋ชจ๋“  ์ž๋ฆฌ์ˆ˜์˜ ์ฐจ์ด๊ฐ€ 1์ด ๋‚œ๋‹ค. ์ด๋Ÿฐ ์ˆ˜๋ฅผ ๊ณ„๋‹จ ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค.์„ธ์ค€์ด๋Š” ์ˆ˜์˜ ๊ธธ์ด๊ฐ€ N์ธ ๊ณ„๋‹จ ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค.N์ด ์ฃผ์–ด์งˆ ๋•Œ, ๊ธธ์ด๊ฐ€ N์ธ ๊ณ„๋‹จ ์ˆ˜๊ฐ€ ์ด ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. (0์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ˆ˜๋Š” ์—†๋‹ค.) ์ž…๋ ฅ์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์ถœ๋ ฅ์ฒซ์งธ ์ค„์— ์ •๋‹ต์„ 1,000,000,000์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ์ œ์ž…๋ ฅ -..

    [๋ฐฑ์ค€] 9095๋ฒˆ - 1, 2, 3 ๋”ํ•˜๊ธฐ

    [๋ฐฑ์ค€] 9095๋ฒˆ - 1, 2, 3 ๋”ํ•˜๊ธฐ

    ๋ฌธ์ œ [9095๋ฒˆ ๋งํฌ]https://www.acmicpc.net/problem/9095 ํ’€์ด๊ณผ์ • (1) ๊ทœ์น™ ์ •์ˆ˜n์˜ 1,2,3์˜ ์กฐํ•ฉ์ด ๋ช‡๊ฐœ ๋“ค์–ด๊ฐ€๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. n=1 1 (1๊ฐœ) n=2 11,2 (2๊ฐœ) n=3 111,21,12,3 (4๊ฐœ) n=4 1111,112,121,211,22,13,31 (7๊ฐœ) n=5 11111,2111,1211,1121,1112,221,212,122,311,131,113,32,23 (13๊ฐœ) ์ด์™€๊ฐ™์€ ๊ทœ์น™์œผ๋กœ ์ง„ํ–‰๋˜๋ฏ€๋กœ, ์ ํ™”์‹์€ D[N] = D[N-1] + D[N-2] + D[N-3] ๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ์ด์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. (2) ์ˆœ์„œ T์™€ ์ •์ˆ˜n์„ ์ž…๋ ฅ๋ฐ›๊ณ , ๋ฉ”๋ชจ์ด์ œ์ด์…˜์— ๊ฐ’์„ ์ €์žฅํ•˜๋ฉฐ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. (3) ์ฝ”๋“œ #include #includ..

    [๋ฐฑ์ค€] 11727๋ฒˆ - 2×n ํƒ€์ผ๋ง2

    ๋ฌธ์ œ ๋ฌธ์ œ2×n ์ง์‚ฌ๊ฐํ˜•์„ 2×1๊ณผ 2×2 ํƒ€์ผ๋กœ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.์•„๋ž˜ ๊ทธ๋ฆผ์€ 2×17 ์ง์‚ฌ๊ฐํ˜•์„ ์ฑ„์šด ํ•œ๊ฐ€์ง€ ์˜ˆ์ด๋‹ค.์ž…๋ ฅ์ฒซ์งธ ์ค„์— n์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ n ≤ 1,000)์ถœ๋ ฅ์ฒซ์งธ ์ค„์— 2×n ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์„ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ 10,007๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ํ’€์ด๊ณผ์ • (1) ๊ทœ์น™ 2x2, 1x2, 2x1 ํƒ€์ผ์ด ๋ช‡๊ฐœ ๋“ค์–ด๊ฐ€๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.(2x2๋Š” 4, 1x2๋Š” 2, 2x1๋Š” 1๋กœ ํ‘œ๊ธฐํ•ฉ๋‹ˆ๋‹ค) n=1 1 (1๊ฐœ) n=2 4,2,1(3๊ฐœ) n=3 41,14,21,12,111 (5๊ฐœ) n=4 (411,141,114,44)x2๊ฐœ + 42,24,1111 (11๊ฐœ) n=5 (4111,1411,1141,1114,441,414,144)x2๊ฐœ + 421,412,142,24..

    [๋ฐฑ์ค€] 11726๋ฒˆ - 2×n ํƒ€์ผ๋ง

    [๋ฐฑ์ค€] 11726๋ฒˆ - 2×n ํƒ€์ผ๋ง

    ๋ฌธ์ œ ๋ฌธ์ œ2×n ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์„ 1×2, 2×1 ํƒ€์ผ๋กœ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.์•„๋ž˜ ๊ทธ๋ฆผ์€ 2×5 ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์„ ์ฑ„์šด ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์˜ ์˜ˆ์ด๋‹ค.์ž…๋ ฅ์ฒซ์งธ ์ค„์— n์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ n ≤ 1,000)์ถœ๋ ฅ์ฒซ์งธ ์ค„์— 2×n ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์„ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ 10,007๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ํ’€์ด๊ณผ์ • (1) ๊ทœ์น™ ๊ฐ€๋กœ๊ธธ์ด๋กœ๋งŒ ๊ณ„์‚ฐํ•˜๋ฉด ๋˜๊ธฐ๋•Œ๋ฌธ์— ์„ธ๋กœ๊ฐ’ 2๋Š” ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.(2๋Š” (1x2 ํƒ€์ผ), 1์€(2x1 ํƒ€์ผ) ) n=1 1 (1๊ฐœ) n=2 2,11 (2๊ฐœ) n=3 21,12,111 (3๊ฐœ) n=4 211,121,112,22,1111 (5๊ฐœ) n=5 2111,1211,1121,1112,221,212,122,11111 (8๊ฐœ) ์ด์™€๊ฐ™์€ ๊ทœ์น™์œผ๋กœ ์ง„ํ–‰๋˜๋ฏ€๋กœ, ์ ํ™”์‹์€..

    [๋ฐฑ์ค€] 1463๋ฒˆ - 1๋กœ ๋งŒ๋“ค๊ธฐ

    [๋ฐฑ์ค€] 1463๋ฒˆ - 1๋กœ ๋งŒ๋“ค๊ธฐ

    ์—ฌํƒœ๊นŒ์ง€ ๋‚˜๋Š” ์ฝ”๋”ฉ์„ ๊ฐ์œผ๋กœ๋งŒ ๋˜ ๋ง‰ํ’€๊ธฐ๋งŒ ํ•œ ๊ฒƒ ๊ฐ™๋‹ค.DP(Dynamic Programming)์—์„œ ์ œ์ผ ์ค‘์š”ํ•œ ๊ฒƒ์ด ์ ํ™”์‹ ์„ธ์šฐ๊ธฐ๋ผ๋Š” ๊ฒƒ์„ ์ด์ œ์•ผ ์ œ๋Œ€๋กœ ์ดํ•ดํ–ˆ๋‹ค. ๋ฌธ์ œ์˜ ๊ฐ ๊ทœ์น™์„ ๊ณต์‹์œผ๋กœ ๋งŒ๋“ค๊ณ , ์ด๊ฒƒ์„ ํ•˜๋‚˜์˜ ์ˆ˜ํ•™์‹์œผ๋กœ ๋งŒ๋“œ๋Š”๊ฒƒ์ด ์ ํ™”์‹์ด์—ˆ๋‹ค.1463๋ฒˆ ๋ฌธ์ œ๋Š” DP๋ฐฉ๋ฒ•์ค‘ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ์ด์šฉํ•ด์„œ ํ’€๋ฉด ์ตœ์ ํ™”๋œ ๋‹ต์ด ๋‚˜์™”๋‹ค. ๋‚ด ์ฝ”๋“œ - ์ •๋‹ต ๋ชป๋งž์ถค(์ ํ™”์‹ ์‚ฌ์šฉX)#include using namespace std; long long c;vector v;long long minDiv(int N){ if (N 1); cout D[N] = D[N/2]+1 N-- -> D[N] = D[N-1]+1 */ memo[1] = 0;//1์ผ๋•Œ๋Š” ์ •๋‹ต์ด๋ฏ€๋กœ ํšŸ์ˆ˜X for (int i = 2; i

    [๋ฐฑ์ค€] ์ž…์ถœ๋ ฅ ๋ฌธ์ œ - 2557, 1000, 2558, 10950, 10951, 10952, 10953, 11021, 11022, 11718, 11719, 11720, 11721, 2741, 2742, 2739, 1924, 8393, 10818, 2438, 2439, 2440, 2441, 2442, 2445, 2522, 2446, 10991, 10992

    2557๋ฒˆ – Hello world #include using namespace std; int main() { printf("Hello World!"); return 0; } 1000๋ฒˆ- A+B, 2558๋ฒˆ - A+B2 #include using namespace std; int main() { int a, b; cin >> a >> b; cout a >> b; cout b) cout b; if (a == 0 && b == 0) break; else cout a >> c >> b; if (a + b == 0) break; else cout a >> b; cout

    [๋ฐฑ์ค€] 1058๋ฒˆ - ์นœ๊ตฌ

    ๋ฌธ์ œ ์ง€๋ฏผ์ด๋Š” ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์‚ฌ๋žŒ์ด ๋ˆ„๊ตฌ์ธ์ง€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค. ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์‚ฌ๋žŒ์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ฐ ์‚ฌ๋žŒ์˜ 2-์นœ๊ตฌ๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. ์–ด๋–ค ์‚ฌ๋žŒ A๊ฐ€ ๋˜๋‹ค๋ฅธ ์‚ฌ๋žŒ B์˜ 2-์นœ๊ตฌ๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด์„ , ๋‘ ์‚ฌ๋žŒ์ด ์นœ๊ตฌ์ด๊ฑฐ๋‚˜, A์™€ ์นœ๊ตฌ์ด๊ณ , B์™€ ์นœ๊ตฌ์ธ C๊ฐ€ ์กด์žฌํ•ด์•ผ ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์‚ฌ๋žŒ์€ 2-์นœ๊ตฌ์˜ ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋งŽ์€ ์‚ฌ๋žŒ์ด๋‹ค. ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์‚ฌ๋žŒ์˜ 2-์นœ๊ตฌ์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. A์™€ B๊ฐ€ ์นœ๊ตฌ๋ฉด, B์™€ A๋„ ์นœ๊ตฌ์ด๊ณ , A์™€ A๋Š” ์นœ๊ตฌ๊ฐ€ ์•„๋‹ˆ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์‚ฌ๋žŒ์˜ ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฐ ์‚ฌ๋žŒ์ด ์นœ๊ตฌ์ด๋ฉด Y, ์•„๋‹ˆ๋ฉด N์ด ์ฃผ์–ด์ง„๋‹ค. (์˜ˆ์ œ๋ฅผ ์ฐธ๊ณ ) ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์‚ฌ๋žŒ์˜ 2-์นœ๊ตฌ์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. #์–ธ์–ด : ..