๋ธŒ๋ฃจํŠธํฌ์Šค

    [PGM_42860] ์กฐ์ด์Šคํ‹ฑ (java)

    [PGM_42860] ์กฐ์ด์Šคํ‹ฑ (java)

    ๋ฌธ์ œ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/42860 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์กฐ์ด์Šคํ‹ฑ ์กฐ์ด์Šคํ‹ฑ์œผ๋กœ ์•ŒํŒŒ๋ฒณ ์ด๋ฆ„์„ ์™„์„ฑํ•˜์„ธ์š”. ๋งจ ์ฒ˜์Œ์—” A๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ex) ์™„์„ฑํ•ด์•ผ ํ•˜๋Š” ์ด๋ฆ„์ด ์„ธ ๊ธ€์ž๋ฉด AAA, ๋„ค ๊ธ€์ž๋ฉด AAAA ์กฐ์ด์Šคํ‹ฑ์„ ๊ฐ ๋ฐฉํ–ฅ์œผ๋กœ ์›€์ง์ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. โ–ฒ - ๋‹ค programmers.co.kr ๋ฌธ์ œํ’€์ด ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป ํ•ต์‹ฌ ์Šคํ‚ฌ ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป ๋ธŒ๋ฃจํŠธํฌ์Šค 1. ๋ฌธ์ œ ์ดํ•ด ์ž…๋ ฅ์œผ๋กœ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ์กฐ์ด์Šคํ‹ฑ์„ ์›€์ง์—ฌ ๊ทธ ๋ฌธ์ž๋ฅผ ๋งŒ๋“ค ๋•Œ ์ตœ์†Œํ•œ์œผ๋กœ ์กฐ์ด์Šคํ‹ฑ์„ ์›€์ง์ด๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์กฐ์ด์Šคํ‹ฑ์€ ์œ„,์•„๋ž˜ ๊ทธ๋ฆฌ๊ณ  ์ขŒ,์šฐ๋กœ ์›€์ง์ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์œ„์™€ ์•„๋ž˜๋กœ ์›€์ง์ด๋Š” ๊ฒฝ์šฐ ์•ŒํŒŒ๋ฒณ์ด ๋ณ€๊ฒฝ๋˜๊ณ  ์ขŒ์šฐ๋กœ ์›€์ง์ด๋ฉด ํ•ด๋‹น ๋ฌธ์ž์˜ ์œ„์น˜..

    [PGM_43165] ํƒ€๊ฒŸ ๋„˜๋ฒ„ (java)

    [PGM_43165] ํƒ€๊ฒŸ ๋„˜๋ฒ„ (java)

    ๋ฌธ์ œ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/43165 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํƒ€๊ฒŸ ๋„˜๋ฒ„ n๊ฐœ์˜ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ •์ˆ˜๋“ค์„ ์ˆœ์„œ๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ์ ์ ˆํžˆ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ์„œ ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด [1, 1, 1, 1, 1]๋กœ ์ˆซ์ž 3์„ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ ๋‹ค์„ฏ ๋ฐฉ๋ฒ•์„ ์“ธ ์ˆ˜ programmers.co.kr ๋ฌธ์ œํ’€์ด ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป ํ•ต์‹ฌ ์Šคํ‚ฌ ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป ๋ธŒ๋ฃจํŠธํฌ์Šค - ์žฌ๊ท€ 2021.11.02 - [CordingTest/Algolithm] - ๋ธŒ๋ฃจํŠธํฌ์Šค(2) ์žฌ๊ท€ ๋ฐฐ์—ด๊ณผ ํƒ€๊ฒŸ๋„˜๋ฒ„ ๋‘๊ฐœ์˜ ์ธํ’‹์ด ๋“ค์–ด์˜จ๋‹ค. ์ด ๋•Œ ๋ฐฐ์—ด์˜ ๊ฐ’์„ ์ ๋‹นํžˆ + ํ˜น์€ -๋กœ ๋„ฃ์–ด์ฃผ์–ด ๋”ํ•ด์„œ ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งŒ์กฑ์‹œํ‚ค๋Š” ๊ฒฝ์šฐ์˜์ˆ˜๋ฅผ ๋ชจ๋‘ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋ฐฐ์—ด์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ตœ๋Œ€ 20๊ฐœ ..

    [์นด์นด์˜ค] ์–‘๊ถ๋Œ€ํšŒ (java)

    [์นด์นด์˜ค] ์–‘๊ถ๋Œ€ํšŒ (java)

    ๋ฌธ์ œ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/92342 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์–‘๊ถ๋Œ€ํšŒ ๋ฌธ์ œ ์„ค๋ช… ์นด์นด์˜ค๋ฐฐ ์–‘๊ถ๋Œ€ํšŒ๊ฐ€ ์—ด๋ ธ์Šต๋‹ˆ๋‹ค. ๋ผ์ด์–ธ์€ ์ €๋ฒˆ ์นด์นด์˜ค๋ฐฐ ์–‘๊ถ๋Œ€ํšŒ ์šฐ์Šน์ž์ด๊ณ  ์ด๋ฒˆ ๋Œ€ํšŒ์—๋„ ๊ฒฐ์Šน์ „๊นŒ์ง€ ์˜ฌ๋ผ์™”์Šต๋‹ˆ๋‹ค. ๊ฒฐ์Šน์ „ ์ƒ๋Œ€๋Š” ์–ดํ”ผ์น˜์ž…๋‹ˆ๋‹ค. ์นด์นด์˜ค๋ฐฐ ์–‘๊ถ๋Œ€ํšŒ ์šด์˜์œ„์› programmers.co.kr ๋ฌธ์ œํ’€์ด ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป ํ•ต์‹ฌ ์Šคํ‚ฌ ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป ๋ธŒ๋ฃจํŠธํฌ์Šค (Test-Case 8๋ฒˆ๊ณผ 18๋ฒˆ์ด ํ•ด๊ฒฐ์ด ๋˜์ง€ ์•Š์€ ํ’€์ด์ž…๋‹ˆ๋‹ค..) ์–‘๊ถ ๋ฌธ์ œ๋ฅผ ๋ธŒ๋ฃจํŠธ ํฌ์Šค๋กœ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜์˜€๋‹ค. ์–ดํ”ผ์น˜์™€ ๋ผ์ด์–ธ์ด ์–‘๊ถ์„ ์ง„ํ–‰ํ•˜๋Š”๋ฐ, ์–ดํ”ผ์น˜๊ฐ€ ๊ฐ ์ ์ˆ˜์— ๋งž์ถ˜ ํ™”์‚ด์˜ ๊ฐœ์ˆ˜๋ณด๋‹ค 1๊ฐœ๋งŒ ๋งŽ์œผ๋ฉด ํ•ด๋‹น ์ ์ˆ˜๋ฅผ ๋ผ์ด์–ธ์ด ๊ฐ€์ ธ๊ฐ„๋‹ค. ๋ผ์ด์–ธ์ด ์ ์ˆ˜์ฐจ๋ฅผ ๊ฐ€์žฅ ํฌ๊ฒŒํ•ด์„œ ์ด๊ธฐ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋จผ์ €..

    BOJ_14888 ์—ฐ์‚ฐ์ž ๋ผ์›Œ๋„ฃ๊ธฐ (Java)

    BOJ_14888 ์—ฐ์‚ฐ์ž ๋ผ์›Œ๋„ฃ๊ธฐ (Java)

    ๋ฌธ์ œ๋งํฌ https://www.acmicpc.net/problem/14888 14888๋ฒˆ: ์—ฐ์‚ฐ์ž ๋ผ์›Œ๋„ฃ๊ธฐ ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(2 โ‰ค N โ‰ค 11)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” A1, A2, ..., AN์ด ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค Ai โ‰ค 100) ์…‹์งธ ์ค„์—๋Š” ํ•ฉ์ด N-1์ธ 4๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ, ์ฐจ๋ก€๋Œ€๋กœ ๋ง์…ˆ(+)์˜ ๊ฐœ์ˆ˜, ๋บ„์…ˆ(-)์˜ ๊ฐœ์ˆ˜, www.acmicpc.net ๋ฌธ์ œํ’€์ด ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป ํ•ต์‹ฌ ์Šคํ‚ฌ ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป ๋ธŒ๋ฃจํŠธํฌ์Šค ์—ฐ์‚ฐ์ž๋ฅผ ๋ผ์›Œ ๋„ฃ๋Š” ๋ฌธ์ œ๋Š” ๋ธŒ๋ฃจํŠธํฌ์Šค๋กœ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ์—ฐ์‚ฐ์ž์˜ ๊ฐœ์ˆ˜๋Š” ์ˆซ์ž ๋ฐฐ์—ด์˜ ํฌ๊ธฐ -1 ์ด๋ฏ€๋กœ ์ตœ๋Œ€ 10๊ฐœ์ด๋‹ค. 10๊ฐœ๋ฅผ ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๋‚˜์—ดํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ตœ๋Œ€ 10!์ด๋ฏ€๋กœ ์‹œ๊ฐ„์ดˆ๊ณผ ์—†์ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๋งŒ๋“ค์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์—ฐ์‚ฐ์ž์˜ ๊ฒฝ์šฐ์˜์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์ค€ ๋’ค ๊ณ„์‚ฐํ•ด ์ฃผ๋ฉด ์‰ฝ๊ฒŒ ํ•ด..

    ๋ธŒ๋ฃจํŠธํฌ์Šค(2) ์žฌ๊ท€

    ๋ธŒ๋ฃจํŠธํฌ์Šค(2) ์žฌ๊ท€

    ์žฌ๊ท€๋ฅผ ์“ฐ๋ฉด ์žฌ๊ท€๋ฅผ ์“ฐ๋ฉด ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํ™•์ธํ•˜๋„๋ก ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์žฌ๊ท€๋ฅผ ์จ์„œ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋‘๊ฐ€์ง€์ด๋‹ค. 1. ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ(P) n๊ฐœ์˜ ์ˆ˜๋ฅผ ๋‚˜์—ดํ•˜๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜์ด๋‹ค.(์ค‘๋ณต๊ฐ€๋Šฅ) -> O(n!) /** * index -> ํ˜„์žฌ ์ˆ˜๋ฅผ ๋†“๋Š” ์œ„์น˜ * arr -> ํ™•์ธํ•˜๋ ค๊ณ  ๋งŒ๋“œ๋Š” ๋ฐฐ์—ด */ public void recursive1(int index, int[] arr){ if(index == arr.length){ //์ข…๋ฃŒ ์กฐ๊ฑด } for(int i = 1; i O(2^n) /** * index -> ํ˜„์žฌ ์ˆ˜๋ฅผ ๋†“๋Š” ์œ„์น˜ * arr -> ํ™•์ธํ•˜๋ ค๊ณ  ๋งŒ๋“œ๋Š” ๋ฐฐ์—ด */ public void recursive2(int cnt, int[] arr, int value, int n){ if(ind..

    ๋ธŒ๋ฃจํŠธํฌ์Šค(1) - ๋ฌด์ž‘์ • ํ•ด๋ณด๊ธฐ

    ๋ธŒ๋ฃจํŠธํฌ์Šค(1) - ๋ฌด์ž‘์ • ํ•ด๋ณด๊ธฐ

    ๋ธŒ๋ฃจํŠธ ํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํ•ด๋ณด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋ฌด์ž‘์ • ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ ค ๊ตฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๋ธŒ๋ฃจํŠธํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์˜ˆ์‹œ ๋ฌธ์ œ : n์ด ์ฃผ์–ด์กŒ์„๋•Œ, 1๋ถ€ํ„ฐ n ์ค‘์— 2์˜ ๋ฐฐ์ˆ˜์˜ ์ˆ˜๋Š”? (1