์ฌ๊ท (recursive) ํฉํ ๋ฆฌ์ผ ๊ตฌํ๊ธฐ package ์๋ฃ๊ตฌ์กฐ์ ๋ฌธ.์ฌ๊ท; public class Factorial { static int facto(int x) { //์ฌ๊ท๋ก ๊ตฌํ if(x > 1) { return x * facto(x-1); } return 1; } static int facto2(int x) { // ์ผํญ์ฐ์ฐ์ + ์ฌ๊ท ๊ตฌํ return (x > 1) ? x * facto(x-1) : 1; } public static void main(String[] args) { System.out.println(facto2(5)); } } ์ง์ ์ฌ๊ท์ ๊ฐ์ ์ฌ๊ท ์ง์ ์ฌ๊ท : A - A - A ํํ๋ก ์์ ๊ณผ ๋์ผํ ๋ฉ์๋๋ฅผ ํธ์ถํ๋๊ฒ ๊ฐ์ ์ฌ๊ท : A - B - C ํํ๋ก ๋ฉ์๋ A ๊ฐ B๋ฅผ ํธ์ถ, ..

Brute Force ์์ด๋ฅผ ํด์ํด๋ณด๋ฉด brute : ์ง์น, ๋ํญํ force : ํ ์ผ๋ก ํ์ด๋๋๋ฐ, Brute Force๋ ์ํธํ๊ณผ ์๊ณ ๋ฆฌ์ฆ ๊ด์ ์ผ๋ก ๋๋ ์ ์ดํดํ ์์๋ค. ์ํธํ ๊ด์ ์์์ brute force attack์ ์ด๋ก ์ ์ผ๋ก ์กฐํฉ์ด ๊ฐ๋ฅํ ๋ชจ๋ ๋ฌธ์๋ฅผ ํ๋์ฉ ๋์ ํ์ฌ ์ํธ๋ฅผ ํด๋ ํ๋ ๋ฐฉ์์ด๋ค. ์๊ณ ๋ฆฌ์ฆ ๊ด์ ์์์ brute force search๋ ์์ ํ์ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ผ๊ธฐํ๋ค. ์ด ๋ํ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ชจ๋ ํ์ํ์ฌ, ์ํ๋ ์๊ตฌ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๊ณ ์จ๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋์ ํ๋ค๋ณด๋ ์์ธ์์ด 100% ํ๋ฅ ๋ก ์ ๋ต์ ์์์๋ค. ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ๋ชจ๋ ์๋ฃ๋ฅผ ํ์ํด์ผ ํ๋ฏ๋ก ํน์ ํ ๊ตฌ์กฐ๋ฅผ ์ ์ฒด์ ์ผ๋ก ํ์ํ ์์๋ ๋ฐฉ๋ฒ์ด ํ์ํ๊ณ , ์ด๋ฅผ ์ํด..
๋ฌธ์ ์๊ทผ์ด์ ์ฌ๋์ ์๋ฅ์ด๋ ๋ฌธ๋ฐฉ๊ตฌ์์ ์คํฐ์ปค 2n๊ฐ๋ฅผ ๊ตฌ๋งคํ๋ค. ์คํฐ์ปค๋ ๊ทธ๋ฆผ (a)์ ๊ฐ์ด 2ํ n์ด๋ก ๋ฐฐ์น๋์ด ์๋ค. ์๋ฅ์ด๋ ์คํฐ์ปค๋ฅผ ์ด์ฉํด ์ฑ ์์ ๊พธ๋ฏธ๋ ค๊ณ ํ๋ค. ์๋ฅ์ด๊ฐ ๊ตฌ๋งคํ ์คํฐ์ปค์ ํ์ง์ ๋งค์ฐ ์ข์ง ์๋ค. ์คํฐ์ปค ํ ์ฅ์ ๋ผ๋ฉด, ๊ทธ ์คํฐ์ปค์ ๋ณ์ ๊ณต์ ํ๋ ์คํฐ์ปค๋ ๋ชจ๋ ์ฐข์ด์ ธ์ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค. ์ฆ, ๋ ์คํฐ์ปค์ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ, ์, ์๋์ ์๋ ์คํฐ์ปค๋ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค. ๋ชจ๋ ์คํฐ์ปค๋ฅผ ๋ถ์ผ ์ ์๊ฒ๋ ์๋ฅ์ด๋ ๊ฐ ์คํฐ์ปค์ ์ ์๋ฅผ ๋งค๊ธฐ๊ณ , ์ ์์ ํฉ์ด ์ต๋๊ฐ ๋๊ฒ ์คํฐ์ปค๋ฅผ ๋ผ์ด๋ด๋ ค๊ณ ํ๋ค. ๋จผ์ , ๊ทธ๋ฆผ (b)์ ๊ฐ์ด ๊ฐ ์คํฐ์ปค์ ์ ์๋ฅผ ๋งค๊ฒผ๋ค. ์๋ฅ์ด๊ฐ ๋ ์ ์๋ ์คํฐ์ปค์ ์ ์์ ์ต๋๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ฆ, 2n๊ฐ์ ์คํฐ์ปค ์ค์์ ์ ์์ ํฉ์ด ์ต๋๊ฐ ๋๋ฉด์ ..
๋ฌธ์ ํจ์ฃผ๋ ํฌ๋์ฃผ ์์ํ์ ๊ฐ๋ค. ๊ทธ ๊ณณ์ ๊ฐ๋๋, ํ ์ด๋ธ ์์ ๋ค์ํ ํฌ๋์ฃผ๊ฐ ๋ค์ด์๋ ํฌ๋์ฃผ ์์ด ์ผ๋ ฌ๋ก ๋์ฌ ์์๋ค. ํจ์ฃผ๋ ํฌ๋์ฃผ ์์์ ํ๋ ค๊ณ ํ๋๋ฐ, ์ฌ๊ธฐ์๋ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง ๊ท์น์ด ์๋ค. ํฌ๋์ฃผ ์์ ์ ํํ๋ฉด ๊ทธ ์์ ๋ค์ด์๋ ํฌ๋์ฃผ๋ ๋ชจ๋ ๋ง์ ์ผ ํ๊ณ , ๋ง์ ํ์๋ ์๋ ์์น์ ๋ค์ ๋์์ผ ํ๋ค. ์ฐ์์ผ๋ก ๋์ฌ ์๋ 3์์ ๋ชจ๋ ๋ง์ค ์๋ ์๋ค. ํจ์ฃผ๋ ๋ ์ ์๋ ๋๋ก ๋ง์ ์์ ํฌ๋์ฃผ๋ฅผ ๋ง๋ณด๊ธฐ ์ํด์ ์ด๋ค ํฌ๋์ฃผ ์์ ์ ํํด์ผ ํ ์ง ๊ณ ๋ฏผํ๊ณ ์๋ค. 1๋ถํฐ n๊น์ง์ ๋ฒํธ๊ฐ ๋ถ์ด ์๋ n๊ฐ์ ํฌ๋์ฃผ ์์ด ์์๋๋ก ํ ์ด๋ธ ์์ ๋์ฌ ์๊ณ , ๊ฐ ํฌ๋์ฃผ ์์ ๋ค์ด์๋ ํฌ๋์ฃผ์ ์์ด ์ฃผ์ด์ก์ ๋, ํจ์ฃผ๋ฅผ ๋์ ๊ฐ์ฅ ๋ง์ ์์ ํฌ๋์ฃผ๋ฅผ ๋ง์ค ์ ์๋๋ก ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ฅผ ๋ค์ด ..
๋ฌธ์ ์ค๋ฅด๋ง ์๋ ์์ ์๋ฆฌ๊ฐ ์ค๋ฆ์ฐจ์์ ์ด๋ฃจ๋ ์๋ฅผ ๋งํ๋ค. ์ด๋, ์ธ์ ํ ์๊ฐ ๊ฐ์๋ ์ค๋ฆ์ฐจ์์ผ๋ก ์น๋ค. ์๋ฅผ ๋ค์ด, 2234์ 3678, 11119๋ ์ค๋ฅด๋ง ์์ด์ง๋ง, 2232, 3676, 91111์ ์ค๋ฅด๋ง ์๊ฐ ์๋๋ค. ์์ ๊ธธ์ด N์ด ์ฃผ์ด์ก์ ๋, ์ค๋ฅด๋ง ์์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ 0์ผ๋ก ์์ํ ์ ์๋ค. ## ์ ๋ ฅ ์ฒซ์งธ ์ค์ N (1 โค N โค 1,000)์ด ์ฃผ์ด์ง๋ค. ## ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ๊ธธ์ด๊ฐ N์ธ ์ค๋ฅด๋ง ์์ ๊ฐ์๋ฅผ 10,007๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค. ์๊ฐ ์ ํ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ถ ์ ๋ต ๋งํ ์ฌ๋ ์ ๋ต ๋น์จ 1 ์ด 256 MB 51093 25041 19405 47.786% https://www.acmicpc.net/problem/11057 ํ์ด ์๊ณ ๋ฆฌ์ฆ ํ๋ฆ ์๋ฆฌ..
๋ฌธ์ ์ด๋ค ๋๋ฌผ์์ ๊ฐ๋ก๋ก ๋์นธ ์ธ๋ก๋ก N์นธ์ธ ์๋์ ๊ฐ์ ์ฐ๋ฆฌ๊ฐ ์๋ค. ์ด ๋๋ฌผ์์๋ ์ฌ์๋ค์ด ์ด๊ณ ์๋๋ฐ ์ฌ์๋ค์ ์ฐ๋ฆฌ์ ๊ฐ๋ ๋, ๊ฐ๋ก๋ก๋ ์ธ๋ก๋ก๋ ๋ถ์ด ์๊ฒ ๋ฐฐ์นํ ์๋ ์๋ค. ์ด ๋๋ฌผ์ ์กฐ๋ จ์ฌ๋ ์ฌ์๋ค์ ๋ฐฐ์น ๋ฌธ์ ๋๋ฌธ์ ๊ณจ๋จธ๋ฆฌ๋ฅผ ์๊ณ ์๋ค. ๋๋ฌผ์ ์กฐ๋ จ์ฌ์ ๋จธ๋ฆฌ๊ฐ ์ํ์ง ์๋๋ก ์ฐ๋ฆฌ๊ฐ 2*N ๋ฐฐ์ด์ ์ฌ์๋ฅผ ๋ฐฐ์นํ๋ ๊ฒฝ์ฐ์ ์๊ฐ ๋ช ๊ฐ์ง์ธ์ง๋ฅผ ์์๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํด ์ฃผ๋๋ก ํ์. ์ฌ์๋ฅผ ํ ๋ง๋ฆฌ๋ ๋ฐฐ์นํ์ง ์๋ ๊ฒฝ์ฐ๋ ํ๋์ ๊ฒฝ์ฐ์ ์๋ก ์น๋ค๊ณ ๊ฐ์ ํ๋ค. ## ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ฐ๋ฆฌ์ ํฌ๊ธฐ N(1โคNโค100,000)์ด ์ฃผ์ด์ง๋ค. ## ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์ฌ์๋ฅผ ๋ฐฐ์นํ๋ ๊ฒฝ์ฐ์ ์๋ฅผ 9901๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ์ฌ๋ผ. ์๊ฐ ์ ํ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ถ ์ ๋ต ๋งํ ์ฌ๋ ์ ๋ต ๋น์จ 2 ์ด 128 MB 32..
๋ฌธ์ ์ ์ 4๋ฅผ 1, 2, 3์ ํฉ์ผ๋ก ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ ์ด 7๊ฐ์ง๊ฐ ์๋ค. ํฉ์ ๋ํ๋ผ ๋๋ ์๋ฅผ 1๊ฐ ์ด์ ์ฌ์ฉํด์ผ ํ๋ค. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 ์ ์ n์ด ์ฃผ์ด์ก์ ๋, n์ 1, 2, 3์ ํฉ์ผ๋ก ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ## ์ ๋ ฅ ์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ์ ์ n์ด ์ฃผ์ด์ง๋ค. n์ ์์์ด๋ฉฐ 1,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ## ์ถ๋ ฅ ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค, n์ 1, 2, 3์ ํฉ์ผ๋ก ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ ์๋ฅผ 1,000,000,009๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค. ์๊ฐ ์ ํ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ถ ์ ๋ต ๋งํ ์ฌ๋ ์ ๋ต ๋น์จ 1 ์ด (์ถ๊ฐ ์๊ฐ ์์) 512 MB 3009..
๋ฌธ์ RGB๊ฑฐ๋ฆฌ์๋ ์ง์ด N๊ฐ ์๋ค. ๊ฑฐ๋ฆฌ๋ ์ ๋ถ์ผ๋ก ๋ํ๋ผ ์ ์๊ณ , 1๋ฒ ์ง๋ถํฐ N๋ฒ ์ง์ด ์์๋๋ก ์๋ค. ์ง์ ๋นจ๊ฐ, ์ด๋ก, ํ๋ ์ค ํ๋์ ์์ผ๋ก ์น ํด์ผ ํ๋ค. ๊ฐ๊ฐ์ ์ง์ ๋นจ๊ฐ, ์ด๋ก, ํ๋์ผ๋ก ์น ํ๋ ๋น์ฉ์ด ์ฃผ์ด์ก์ ๋, ์๋ ๊ท์น์ ๋ง์กฑํ๋ฉด์ ๋ชจ๋ ์ง์ ์น ํ๋ ๋น์ฉ์ ์ต์๊ฐ์ ๊ตฌํด๋ณด์. 1๋ฒ ์ง์ ์์ 2๋ฒ ์ง์ ์๊ณผ ๊ฐ์ง ์์์ผ ํ๋ค. N๋ฒ ์ง์ ์์ N-1๋ฒ ์ง์ ์๊ณผ ๊ฐ์ง ์์์ผ ํ๋ค. i(2 โค i โค N-1)๋ฒ ์ง์ ์์ i-1๋ฒ, i+1๋ฒ ์ง์ ์๊ณผ ๊ฐ์ง ์์์ผ ํ๋ค. ## ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ง์ ์ N(2 โค N โค 1,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๊ฐ ์ง์ ๋นจ๊ฐ, ์ด๋ก, ํ๋์ผ๋ก ์น ํ๋ ๋น์ฉ์ด 1๋ฒ ์ง๋ถํฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ง์ ์น ํ๋ ๋น์ฉ์ 1,000..
๋ฌธ์ 0๊ณผ 1๋ก๋ง ์ด๋ฃจ์ด์ง ์๋ฅผ ์ด์ง์๋ผ ํ๋ค. ์ด๋ฌํ ์ด์ง์ ์ค ํน๋ณํ ์ฑ์ง์ ๊ฐ๋ ๊ฒ๋ค์ด ์๋๋ฐ, ์ด๋ค์ ์ด์น์(pinary number)๋ผ ํ๋ค. ์ด์น์๋ ๋ค์์ ์ฑ์ง์ ๋ง์กฑํ๋ค. ์ด์น์๋ 0์ผ๋ก ์์ํ์ง ์๋๋ค. ์ด์น์์์๋ 1์ด ๋ ๋ฒ ์ฐ์์ผ๋ก ๋ํ๋์ง ์๋๋ค. ์ฆ, 11์ ๋ถ๋ถ ๋ฌธ์์ด๋ก ๊ฐ์ง ์๋๋ค. ์๋ฅผ ๋ค๋ฉด 1, 10, 100, 101, 1000, 1001 ๋ฑ์ด ์ด์น์๊ฐ ๋๋ค. ํ์ง๋ง 0010101์ด๋ 101101์ ๊ฐ๊ฐ 1, 2๋ฒ ๊ท์น์ ์๋ฐฐ๋๋ฏ๋ก ์ด์น์๊ฐ ์๋๋ค. N(1 โค N โค 90)์ด ์ฃผ์ด์ก์ ๋, N์๋ฆฌ ์ด์น์์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ## ์ ๋ ฅ ์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. ## ์ถ๋ ฅ ์ฒซ์งธ ์ค์ N์๋ฆฌ ์ด์น์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค. ์๊ฐ ์ ํ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ถ ์ ๋ต ๋งํ..
๋ฌธ์ 45656์ด๋ ์๋ฅผ ๋ณด์. ์ด ์๋ ์ธ์ ํ ๋ชจ๋ ์๋ฆฌ์ ์ฐจ์ด๊ฐ 1์ด๋ค. ์ด๋ฐ ์๋ฅผ ๊ณ๋จ ์๋ผ๊ณ ํ๋ค. N์ด ์ฃผ์ด์ง ๋, ๊ธธ์ด๊ฐ N์ธ ๊ณ๋จ ์๊ฐ ์ด ๋ช ๊ฐ ์๋์ง ๊ตฌํด๋ณด์. 0์ผ๋ก ์์ํ๋ ์๋ ๊ณ๋จ์๊ฐ ์๋๋ค. ## ์ ๋ ฅ ์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. N์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ## ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์ ๋ต์ 1,000,000,000์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค. ์๊ฐ ์ ํ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ถ ์ ๋ต ๋งํ ์ฌ๋ ์ ๋ต ๋น์จ 1 ์ด 256 MB 136447 43731 31781 30.389% https://www.acmicpc.net/problem/10844 ํ์ด ์๊ณ ๋ฆฌ์ฆ ํ๋ฆ ์๋ฆฌ์๊ฐ 100, ์ฆ, 100์งธ ์๋ฆฌ ์๊น์ง ์ฃผ์ด์ง๋ ๋ฌธ์ ์ด๋ long ํ์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ํ์ด์ผํ๋ค. ์ด..