์ „์ฒด ๊ธ€

๐Ÿ Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Programmers] ์†Œ์ธ์ˆ˜๋ถ„ํ•ด(์ž๋ฐ”)

โžฐ๋ฌธ์ œ ์†Œ์ธ์ˆ˜๋ถ„ํ•ด๋ž€ ์–ด๋–ค ์ˆ˜๋ฅผ ์†Œ์ˆ˜๋“ค์˜ ๊ณฑ์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 12๋ฅผ ์†Œ์ธ์ˆ˜ ๋ถ„ํ•ดํ•˜๋ฉด 2 * 2 * 3 ์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 12์˜ ์†Œ์ธ์ˆ˜๋Š” 2์™€ 3์ž…๋‹ˆ๋‹ค. ์ž์—ฐ์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ n์˜ ์†Œ์ธ์ˆ˜๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋‹ด์€ ๋ฐฐ์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ - 2 ≤ n ≤ 10,000 ์ž…์ถœ๋ ฅ ์˜ˆ n result 12 [2, 3] 17 [17] 420 [2, 3, 5, 7] ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #1 12๋ฅผ ์†Œ์ธ์ˆ˜๋ถ„ํ•ดํ•˜๋ฉด 2 * 2 * 3 ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ [2, 3]์„ returnํ•ฉ๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #2 17์€ ์†Œ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ [17]์„ return ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #3 420์„ ์†Œ์ธ์ˆ˜๋ถ„ํ•ดํ•˜๋ฉด 2 * 2 * 3 * 5 * ..

๐Ÿ Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Programmers] 2์ฐจ์›์œผ๋กœ ๋งŒ๋“ค๊ธฐ(์ž๋ฐ”)

โžฐ๋ฌธ์ œ ์ •์ˆ˜ ๋ฐฐ์—ด num_list์™€ ์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. num_list๋ฅผ ๋‹ค์Œ ์„ค๋ช…๊ณผ ๊ฐ™์ด 2์ฐจ์› ๋ฐฐ์—ด๋กœ ๋ฐ”๊ฟ” returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. num_list๊ฐ€ [1, 2, 3, 4, 5, 6, 7, 8] ๋กœ ๊ธธ์ด๊ฐ€ 8์ด๊ณ  n์ด 2์ด๋ฏ€๋กœ num_list๋ฅผ 2 * 4 ๋ฐฐ์—ด๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. 2์ฐจ์›์œผ๋กœ ๋ฐ”๊ฟ€ ๋•Œ์—๋Š” num_list์˜ ์›์†Œ๋“ค์„ ์•ž์—์„œ๋ถ€ํ„ฐ n๊ฐœ์”ฉ ๋‚˜๋ˆ  2์ฐจ์› ๋ฐฐ์—ด๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. num_list n result [1, 2, 3, 4, 5, 6, 7, 8] 2 [[1,2], [3,4], [5,6], [7,8]] ์ œํ•œ์‚ฌํ•ญ num_list์˜ ๊ธธ์ด๋Š” n์˜ ๋ฐฐ ์ˆ˜๊ฐœ์ž…๋‹ˆ๋‹ค. 0 ≤ num_list์˜ ๊ธธ์ด ≤ 150 2 ≤ n

๐Ÿ Programming/Java

[Java] ๋ฐฐ์—ด ๋ณต์‚ฌ copyOf , copyOfRange

์ž๋ฐ”์—์„œ ๋ฐฐ์—ด์„ ๋ณต์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. for ๋‚˜ while ๊ฐ™์€ ๋ฐ˜๋ณต๋ฌธ์„ ํ™œ์šฉํ•˜์—ฌ ์ง์ ‘ ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๊ณ , Arrays์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค. ์‚ฌ์šฉ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ๊ฐ„๋‹จํ•˜๋‹ค. copyOf() copyOf ๋ฉ”์†Œ๋“œ๋Š” Arrays.copyOf( ๋ณต์‚ฌํ•  ๋ฐฐ์—ด, ๋ณต์‚ฌํ•  ๋ฐฐ์—ด์˜ ํฌ๊ธฐ ); ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋ฐ”๋กœ ์ฝ”๋“œ๋ฅผ ๋ณด์ž. import java.util.Arrays; public class copyOfTest { public static void main(String[] args) { int[] arr1 = {1, 2, 3, 4, 5}; int[] arr2 = Arrays.copyOf(arr1, arr1.length); for(int i=0; i ๋„ฃ๊ณ ์žํ•˜๋Š” ์ด ๋ฒ”..

๐Ÿ Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Programmers] ๋ชจ์Œ ์ œ๊ฑฐ(์ž๋ฐ”)

โžฐ๋ฌธ์ œ ์˜์–ด์—์„  a, e, i, o, u ๋‹ค์„ฏ ๊ฐ€์ง€ ์•ŒํŒŒ๋ฒณ์„ ๋ชจ์Œ์œผ๋กœ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด my_string์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ ๋ชจ์Œ์„ ์ œ๊ฑฐํ•œ ๋ฌธ์ž์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ - my_string์€ ์†Œ๋ฌธ์ž์™€ ๊ณต๋ฐฑ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. - 1 ≤ my_string์˜ ๊ธธ์ด ≤ 1,000 ์ž…์ถœ๋ ฅ ์˜ˆ my_string result "bus" "bs" "nice to meet you" "nc t mt y" ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #1 "bus"์—์„œ ๋ชจ์Œ u๋ฅผ ์ œ๊ฑฐํ•œ "bs"๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #1 "nice to meet you"์—์„œ ๋ชจ์Œ i, o, e, u๋ฅผ ๋ชจ๋‘ ์ œ๊ฑฐํ•œ "nc t mt y"๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ’กํ’€์ด โญ์ œ์ถœ ์ฝ”๋“œ class Sol..

๐Ÿ Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Programmers] ํŒฉํ† ๋ฆฌ์–ผ(์ž๋ฐ”)

โžฐ๋ฌธ์ œ iํŒฉํ† ๋ฆฌ์–ผ (i!)์€ 1๋ถ€ํ„ฐ i๊นŒ์ง€ ์ •์ˆ˜์˜ ๊ณฑ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด 5! = 5 * 4 * 3 * 2 * 1 = 120 ์ž…๋‹ˆ๋‹ค. ์ •์ˆ˜ n์ด ์ฃผ์–ด์งˆ ๋•Œ ๋‹ค์Œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ฐ€์žฅ ํฐ ์ •์ˆ˜ i๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. → i! ≤ n ์ œํ•œ์‚ฌํ•ญ - 0

๐Ÿ Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Programmers] ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜(์ž๋ฐ”)

๋ฌธ์ œ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋Š” F(0) = 0, F(1) = 1์ผ ๋•Œ, 1 ์ด์ƒ์˜ n์— ๋Œ€ํ•˜์—ฌ F(n) = F(n-1) + F(n-2) ๊ฐ€ ์ ์šฉ๋˜๋Š” ์ˆ˜ ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 ์™€ ๊ฐ™์ด ์ด์–ด์ง‘๋‹ˆ๋‹ค. 2 ์ด์ƒ์˜ n์ด ์ž…๋ ฅ๋˜์—ˆ์„ ๋•Œ, n๋ฒˆ์งธ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ 1234567์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”. ์ œํ•œ ์‚ฌํ•ญ - n์€ 2 ์ด์ƒ 100,000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ n return 3 2 5 5 ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ํ”ผ๋ณด๋‚˜์น˜์ˆ˜๋Š” 0๋ฒˆ์งธ๋ถ€ํ„ฐ 0, 1, 1, 2, 3, 5..

Dhey
dh.log