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. ์ด์ 1 2 3 ๋ค์