๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Algorithm19

Kakao 2022 Blind Test - Lv2. ์–‘๊ถ๋Œ€ํšŒ (Java) ๋ฌธ์ œ ์š”์•ฝ ์–‘๊ถ๋Œ€ํšŒ์—์„œ ๋ผ์ด์–ธ์ด ์šฐ์Šนํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋“ค ์ค‘ ๊ฐ€์žฅ ๋‚ฎ์€ ์ ์ˆ˜๋ฅผ ๋” ๋งŽ์ด ๋งžํžŒ ๊ฒฝ์šฐ๋ฅผ ์ฐพ์•„ return, ์—†๋‹ค๋ฉด [-1] return [๋ฌธ์ œ ์„ค๋ช… ๋ฐ ์ œํ•œ ์กฐ๊ฑด] ์–ดํ”ผ์น˜์™€ ๋ผ์ด์–ธ์ด ์–‘๊ถ๋Œ€ํšŒ ๊ฒฐ์Šน์ „์— ์˜ฌ๋ผ์™”๋‹ค. ๋‹ค์–‘ํ•œ ์„ ์ˆ˜๊ฐ€ ์–‘๊ถ๋Œ€ํšŒ์—์„œ ์šฐ์Šนํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด, ์šด์˜์œ„์›ํšŒ๋Š” ๋ผ์ด์–ธ์—๊ฒŒ ๋ถˆ๋ฆฌํ•˜๋„๋ก ๊ฒฐ์Šน์ „ ๊ทœ์น™์„ ์ •ํ•˜์˜€๋‹ค. k์ ์— ์—ฌ๋Ÿฌ๋ฐœ์„ ๋งž์ถ”์—ˆ๋”๋ผ๋„, k์ ๋งŒ ํš๋“ํ•  ์ˆ˜ ์žˆ๋‹ค. k์ ์„ ์–ดํ”ผ์น˜๊ฐ€ a๋ฐœ, ๋ผ์ด์–ธ์ด b๋ฐœ์„ ๋งž์ท„์„ ๊ฒฝ์šฐ, a >= b ์ผ ๊ฒฝ์šฐ์— ์–ดํ”ผ์น˜๊ฐ€ k ์ ์„ ํš๋“ํ•œ๋‹ค. [์ž…์ถœ๋ ฅ] n: ๊ฐ ์–‘๊ถ ์„ ์ˆ˜๊ฐ€ ํ™”์‚ด์„ ์  ์ˆ˜ ์žˆ๋Š” ์ด ๊ฐœ์ˆ˜ (1 ≤ n ≤ 10) info: ์–ดํ”ผ์น˜๊ฐ€ ์œ ํ™”์‚ด์˜ ์ •๋ณด (0 ≤ info์˜ ์›์†Œ ≤ n, info์˜ ์›์†Œ ์ดํ•ฉ = n) ๋ผ์ด์–ธ์ด ์–ดํ”ผ์น˜๋ฅผ ์ด๊ธธ ์ˆ˜ ์—†.. 2022. 6. 11.
Kakao 2022 Blind Test - Lv2. k์ง„์ˆ˜์—์„œ ์†Œ์ˆ˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ (Java) ๋ฌธ์ œ ์š”์•ฝ ์–‘์˜ ์ •์ˆ˜ n์„ k์ง„์ˆ˜๋กœ ๋ฐ”๊ฟจ์„ ๋•Œ, ๋ณ€ํ™˜๋œ ์ˆ˜ ์•ˆ์— 10์ง„์ˆ˜ ๊ธฐ์ค€ ์†Œ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ์ธ๊ฐ€? [์ œํ•œ ์กฐ๊ฑด] P๋Š” ์†Œ์ˆ˜ 0P0์ฒ˜๋Ÿผ ์†Œ์ˆ˜ ์–‘์ชฝ์— 0์ด ์žˆ๋Š” ๊ฒฝ์šฐ P0์ฒ˜๋Ÿผ ์†Œ์ˆ˜ ์˜ค๋ฅธ์ชฝ์—๋งŒ 0์ด ์žˆ๊ณ  ์™ผ์ชฝ์—๋Š” ์•„๋ฌด๊ฒƒ๋„ ์—†๋Š” ๊ฒฝ์šฐ 0P์ฒ˜๋Ÿผ ์†Œ์ˆ˜ ์™ผ์ชฝ์—๋งŒ 0์ด ์žˆ๊ณ  ์˜ค๋ฅธ์ชฝ์—๋Š” ์•„๋ฌด๊ฒƒ๋„ ์—†๋Š” ๊ฒฝ์šฐ P์ฒ˜๋Ÿผ ์†Œ์ˆ˜ ์–‘์ชฝ์— ์•„๋ฌด๊ฒƒ๋„ ์—†๋Š” ๊ฒฝ์šฐ ์˜ˆ๋ฅผ ๋“ค์–ด ์ˆซ์ž๊ฐ€ 222์ธ ๊ฒฝ์šฐ, ์ˆซ์ž๋ฅผ ๋ถ„ํ•ดํ•˜์—ฌ ์†Œ์ˆ˜๋ฅผ ํŒ๋ณ„ํ•˜์ง€ ์•Š์Œ = ์†Œ์ˆ˜๊ฐ€ ์•„๋‹Œ ์ˆ˜ ๋‹จ, P๋Š” ๊ฐ ์ž๋ฆฟ์ˆ˜์— 0์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ์†Œ์ˆ˜ ์˜ˆ๋ฅผ ๋“ค์–ด, 101์€ P๊ฐ€ ๋  ์ˆ˜ ์—†์Œ [์ž…์ถœ๋ ฅ] n: ์–‘์˜ ์ •์ˆ˜ (1 ≤ n ≤ 1,000,000) k: k์ง„์ˆ˜ (3 ≤ k ≤ 10) n k result 437674 3 3 ๋ฌธ์ œ ์ ‘๊ทผ ์ž์„ธํ•œ ์ ‘๊ทผ ๋ฒ•์€ ์ฝ”๋“œ์˜ ์ฃผ์„์„ ํ™•์ธํ•˜์„ธ์š” ๐Ÿ™‚ // 2.. 2022. 6. 4.
Kakao 2021 Blind Test - Lv3. ๊ด‘๊ณ  ์‚ฝ์ž… (Java) ๋ฌธ์ œ ์š”์•ฝ ์‹œ์ฒญ์ž๋“ค์˜ ๋ˆ„์  ์žฌ์ƒ ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ๋งŽ์ด ๋‚˜์˜ค๋Š” ๊ณณ์— ๊ณต์ต ๊ด‘๊ณ ๋ฅผ ์‚ฝ์ž…ํ•˜๋ ค ํ•œ๋‹ค. ๊ณต์ต ๊ด‘๊ณ ๊ฐ€ ๋“ค์–ด๊ฐˆ ๊ฐ€์žฅ ๋น ๋ฅธ ์‹œ์ž‘ ์‹œ๊ฐ์„ ๊ตฌํ•ด์„œ return [๋ฌธ์ œ ์„ค๋ช…] ๋™์˜์ƒ ์žฌ์ƒ ์‹œ๊ฐ„ ๊ธธ์ด play_time์ด ์ฃผ์–ด์ง„๋‹ค. ๊ณต์ต ๊ด‘๊ณ  ์žฌ์ƒ ์‹œ๊ฐ„ ๊ธธ์ด adv_time์ด ์ฃผ์–ด์ง„๋‹ค. logs๋Š” ์‹œ์ฒญ์ž๋“ค์ด ํ•ด๋‹น ๋™์˜์ƒ์„ ์žฌ์ƒํ–ˆ๋˜ ๊ตฌ๊ฐ„ ์ •๋ณด์ด๋‹ค. ๋ˆ„์  ์žฌ์ƒ ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ๋งŽ์ด ๋‚˜์˜ค๋Š” ๊ณณ์— ๊ณต์ต ๊ด‘๊ณ ๋ฅผ ์‚ฝ์ž…ํ•˜๋ ค ํ•  ๋•Œ, ๊ณต์ต ๊ด‘๊ณ ๊ฐ€ ๋“ค์–ด๊ฐˆ ๊ฐ€์žฅ ๋น ๋ฅธ ์‹œ๊ฐ return ** ๋ˆ„์  ์žฌ์ƒ ์‹œ๊ฐ„์ด๋ž€? - ์ „์ฒด ๋™์˜์ƒ ๊ตฌ๊ฐ„ ์ค‘ ๊ด‘๊ณ ๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ตฌ๊ฐ„์— / ์‹œ์ฒญ์ž๋“ค์ด ๋Š์ด์ง€ ์•Š๊ณ  ๋™์˜์ƒ์„ ์žฌ์ƒํ•œ ์‹œ๊ฐ„ [์ƒ๊ฐ์˜ ๊ณผ์ •] ์‹œ์ฒญ ์‹œ๊ฐ„ ์ค‘ ๊ฐ€์žฅ ๋นจ๋ฆฌ ์‹œ์ž‘ํ•œ ์‹œ์ฒญ ์‹œ๊ฐ๊ณผ ๊ฒน์น˜๋Š” ๋‹ค๋ฅธ ์‹œ์ฒญ ์‹œ๊ฐ์˜ ์‹œ์ž‘ ์‹œ๊ฐ„์„ ํ•œ ๊ตฌ๊ฐ„์œผ๋กœ ํ•˜์—ฌ ๊ฐ ๊ตฌ์—ญ.. 2022. 6. 2.
Kakao 2021 Blind Test - Lv3. ํ•ฉ์Šน ํƒ์‹œ ์š”๊ธˆ (Java) ๋ฌธ์ œ ์š”์•ฝ A, B ๋‘ ์‚ฌ๋žŒ์ด ์ถœ๋ฐœ์ (s)์—์„œ ์ถœ๋ฐœํ•ด ๊ฐ๊ฐ์˜ ๋„์ฐฉ ์ง€์ ๊นŒ์ง€ ํƒ์‹œ๋ฅผ ํƒ„๋‹ค๊ณ  ํ•  ๋•Œ, ์ตœ์ € ์˜ˆ์ƒ ํƒ์‹œ์š”๊ธˆ์„ ๊ณ„์‚ฐ [๋ฌธ์ œ ์„ค๋ช…] A์™€ B๊ฐ€ ์ถœ๋ฐœ์ง€์—์„œ ๋„์ฐฉ์ง€๊นŒ์ง€ ํƒ์‹œ๋ฅผ ํƒ„๋‹ค. A์™€ B๋Š” ์–ด๋А ํŠน์ • ์ง€์ ๊นŒ์ง€ ํ•ฉ์Šนํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•ฉ์Šนํ•œ ์ง€์ ์—์„œ ๋‚ด๋ฆฐ ํ›„ ๊ฐ์ž์˜ ๋„์ฐฉ์ง€๊นŒ์ง€ ๋”ฐ๋กœ ํƒ์‹œ๋ฅผ ํƒ„๋‹ค. ํ•ฉ์Šนํ•˜์—ฌ ๋„์ฐฉ์ง€๊นŒ์ง€ ๊ฐ€๋Š” ๊ฒƒ์ด ์ตœ์†Œ ๋น„์šฉ์ธ๊ฐ€? ๋”ฐ๋กœ ํƒ์‹œ๋ฅผ ํƒ€์„œ ๋„์ฐฉ์ง€๊นŒ์ง€ ๊ฐ€๋Š” ๊ฒƒ์ด ์ตœ์†Œ ๋น„์šฉ์ธ๊ฐ€? [์ƒ๊ฐ์˜ ๊ณผ์ •] ์ฒ˜์Œ์— ํ•ฉ์Šนํ•˜์—ฌ ๋„์ฐฉ์ง€๊นŒ์ง€ ๊ฐ€๋Š” ๊ฒƒ๊ณผ // ๋”ฐ๋กœ ํƒ์‹œ๋ฅผ ํƒ€์„œ ๋„์ฐฉ์ง€๊นŒ์ง€ ๋„์ฐฉํ•˜๋Š” ๋น„์šฉ(ํ•ฉ์Šนํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ)์„ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ƒ๊ฐํ•˜๋ ค ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์–ด๋А ์ง€์ ๊นŒ์ง€ ํ•ฉ์Šนํ•˜์˜€๋Š”์ง€๋ฅผ ๋‹ตํ•˜๋Š” ๊ณณ์€ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ถœ๋ฐœ์ ์—์„œ ๋ชจ๋“  ์ง€์ ๊นŒ์ง€์˜ ์ตœ์†Œ ์š”๊ธˆ์„ ๊ตฌํ•œ ๋’ค ์ž„์˜์˜ ํ•ฉ์Šน ์ง€์ ์„ ์„ ํƒํ•˜์—ฌ ๋˜ ๋‹ค๋ฅธ ๋ชจ๋“  ์ง€.. 2022. 6. 2.
Next Permutation์„ ์ด์šฉํ•œ ์ˆœ์—ด ๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ ๋’ค, ์‚ฌ์ „ ์ˆœ์œผ๋กœ ๋‹ค์Œ ์ˆœ์—ด์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• ์ ˆ์ฐจ ๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ ๋‹ค์Œ์ด ๊ณผ์ •์˜ ๋ฐ˜๋ณตํ•˜์—ฌ ์ˆœ์—ด ์ƒ์„ฑ (๊ฐ€์žฅ ํฐ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ˆœ์—ด์„ ๋งŒ๋“ค ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต) ๋’ค์ชฝ๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•˜์—ฌ ๊ตํ™˜์œ„์น˜(๊ผญ๋Œ€๊ธฐ ๋ฐ”๋กœ ์ง์ „) ์ฐพ๊ธฐ (๊ผญ๋Œ€๊ธฐ - ๊ฐ€์žฅ ํฐ ์ˆ˜) ๋’ค์ชฝ๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•˜์—ฌ ๊ตํ™˜์œ„์น˜์™€(๊ผญ๋Œ€๊ธฐ ๋ฐ”๋กœ ์ง์ „) ๊ตํ™˜ํ•  ํฐ ๊ฐ’ ์œ„์น˜ ์ฐพ๊ธฐ (๊ตํ™˜์œ„์น˜๋ณด๋‹ค ํฐ ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ˆ˜) ๋‘ ์œ„์น˜ ๊ฐ’ ๊ตํ™˜ ๊ผญ๋Œ€๊ธฐ๋ถ€ํ„ฐ ๋งจ ๋’ค๊นŒ์ง€ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ ex. 1 2 3 -> 3 2 1 ๊นŒ์ง€ ๋งŒ๋“œ๋Š” ๊ณผ์ • import java.util.Arrays; public class NextPermutation { static int R, N, nums[], set[]; public static void main(String[] args) { /.. 2022. 5. 17.
Next Permutation์„ ์ด์šฉํ•œ ์กฐํ•ฉ flag๋ฅผ Next Permutation์„ ์ด์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ ๊ฒƒ nCr ์„ ๊ตฌํ•˜๊ณ ์ž ํ•  ๋•Œ, ํฌ๊ธฐ n์˜ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜์—ฌ r ๊ฐœ์˜ ํฌ๊ธฐ๋งŒํผ 0 ์ด ์•„๋‹Œ ๊ฐ’ ์ดˆ๊ธฐํ™” 5C2 ์ด๋ฉด, 00011 ๋กœ ์ดˆ๊ธฐํ™” Next Permutation ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด์šฉ 00011์„ ์‚ฌ์šฉํ•˜์—ฌ NP๋ฅผ ๋Œ๋ฆฌ๊ณ  1์˜ ์œ„์น˜์— ์›์†Œ ๊ฐ’์ด ์„ ํƒ๋˜์–ด ์กฐํ•ฉ์„ ๋งŒ๋“ ๋‹ค. Next Permutation ํ•œ ๋ฒˆ ์ด์šฉํ•  ๋•Œ๋งˆ๋‹ค ์กฐํ•ฉ์ด ๋งŒ๋“ค์–ด ์ง„๋‹ค. (0์ด ์•„๋‹Œ ๊ฐ’์˜ ์œ„์น˜๊ฐ€ ๋ณ€๊ฒฝ๋œ๋‹ค) => r๊ฐœ์˜ ํฌ๊ธฐ ๋งŒํผ, ์ฆ‰, 0์ด ์•„๋‹Œ ๊ฐ’์ด ์„ธํŒ…๋œ ๊ณณ์— ์›์†Œ๋ฅผ ์„ ํƒํ•˜์—ฌ ์กฐํ•ฉ์„ ๋งŒ๋“  ๊ฒƒ์ด๋‹ค. import java.util.Arrays; public class Combination { static int N, R, nums[]; public static void main(S.. 2022. 5. 17.
๋น„ํŠธ๋งˆ์Šคํ‚น์„ ์ด์šฉํ•œ ์ˆœ์—ด, ์กฐํ•ฉ ๋น„ํŠธ 0 = false = ์‚ฌ์šฉ ์ค‘ X 1 = true = ์‚ฌ์šฉ ์ค‘ O ๋น„ํŠธ ์—ฐ์‚ฐ์ž & : AND ์—ฐ์‚ฐ | : OR ์—ฐ์‚ฐ ^ : XOR ์—ฐ์‚ฐ (๊ฐ™์œผ๋ฉด 0, ๋‹ค๋ฅด๋ฉด 1) ~ : ๋ชจ๋“  ๋น„ํŠธ ๋ฐ˜์ „ : ๋น„ํŠธ ์—ด์„ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ (๋นˆ ๊ณต๊ฐ„์€ ๋ถ€ํ˜ธ๋น„ํŠธ๋กœ ์ฑ„์šด๋‹ค) >>> : ๋น„ํŠธ ์—ด์„ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ (๋นˆ ๊ณต๊ฐ„์€ 0์œผ๋กœ ์ฑ„์šด๋‹ค) &’์€ ํ•ด๋‹น ์ˆซ์ž๊ฐ€ ์‚ฌ์šฉ์ค‘์ธ์ง€, ‘|’์€ ํ•ด๋‹น ์ˆซ์ž๋ฅผ ์‚ฌ์šฉ ์ค‘์ž„์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ 1. ์ˆœ์—ด ์ฝ”๋“œ - ๋น„ํŠธ ๋งˆ์Šคํ‚น ์‚ฌ์šฉ import java.util.Arrays; public class Permutation_BitMasking { static int R, N, nums[], set[]; public static void main(String[] args) { //nPr R = 2; N.. 2022. 5. 17.