Java & Spring/Java Algorithm

    [์•Œ๊ณ ๋ฆฌ์ฆ˜][์ž๋ฐ”] ์ตœ๋นˆ๊ฐ’ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    ์ž๋ฐ”์ฝ”๋“œ ๋ฐฐ์—ด์— ๋‹ด๊ธด ์ˆซ์ž๊ฐ€ ๊ณง ๋‹ค๋ฅธ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๊ฐ€ ๋˜๊ณ , ํ•ด๋‹น ์ธ๋ฑ์Šค์˜ ๊ฐ’์„ ๊ณ„์† ++ ์‹œํ‚ค๋Š” ๊ฒƒ์ด ํฌ์ธํŠธ์ด๋‹ค. ์œ„ํŠธ๊ฐ€ ๋‹๋ณด์ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ // ์ตœ๋นˆ๊ฐ’ ์•Œ๊ณ ๋ฆฌ์ฆ˜ import java.util.Arrays; public class App { public static void main(String[] args) throws Exception { //[1] Input int[] input = {4,4,4,4,4,2}; int mode=0; int max=0; int[] indexs = new int[5+1]; //[2] Process for(int i=0;i

    [JAVA][Python][์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ณ‘ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ; ๋จธ์ง€

    Java // 2๊ฐœ์˜ ์ •์ˆ˜ ๋ฐฐ์—ด ํ•ฉ์น˜๊ธฐ : 2๊ฐœ์˜ ๋ฐฐ์—ด์€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค // ๋ณ‘ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด์„ ํ•˜๋‚˜๋กœ ๋ณ‘ํ•ฉ import java.util.Arrays; public class App { public static void main(String[] args) throws Exception { //[1] Input int[] first = {1,3,5}; int[] second = {2,4,6}; int M = first.length; int N = second.length; // M : N ๊ด€ํ–‰ int[] merge = new int[N+M]; int i = 0; int j=0; int k = 0; //i,j,k ๊ด€ํ–‰ //[2] Process : Merge..

    [JAVA][์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ด์ง„๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    JAVA public class App { public static void main(String[] args) throws Exception { //[1] Input int [] numbers = {1,2,3,4,5,6,7,8,9,10,11,12}; //์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ • int N = numbers.length; //์˜์‚ฌ์ฝ”๋“œ int search = 7;//๊ฒ€์ƒ‰ํ•  ๋ฐ์ดํ„ฐ boolean flag = false; //์ฐพ์•˜์œผ๋ฉด true int index = -1; //์ฐพ์€ ์œ„์น˜(์ธ๋ฑ์Šค) //[2] Process : ์ด์ง„ ๊ฒ€์ƒ‰ (Binary Search) int min = 0; int max = N - 1; while (min search) { max = mid - 1; } } //[3] Output ..

    [์ž๋ฐ”/ํŒŒ์ด์ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ์„ ํƒ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    ์„ ํƒ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€ ๋ฐ์ดํ„ฐ ํ•˜๋‚˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋จธ์ง€ ๋ฐ์ดํ„ฐ์™€ ๋น„๊ตํ•˜์—ฌ ๊ฐ€์žฅ ์ž‘๊ฑฐ๋‚˜ ํฐ ๋ฐ์ดํ„ฐ์™€ ์ž๋ฆฌ๋ฅผ ๋ฐ”๊พธ๋Š” ์‹์œผ๋กœ ๋ฐ˜๋ณต ๋น„๊ตํ•˜๋Š” ์ •๋ ฌ ๋ฐฉ๋ฒ•์ด๋‹ค. ์„ ํƒ ์ •๋ ฌ์€ ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜๊ฐ€ n๊ฐœ์ด๋ฉด ์ „์ฒด ํšŒ์ „์ˆ˜๋Š” n-1ํšŒ์ด๋‹ค. ์„ ํƒ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์˜ค๋ฆ„์ฐจ์ˆœ์ด๋ผ๋ฉด ๋ฐฐ์—ด์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ฐ€์žฅ ์ž‘์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ฑ„์›Œ์ง„๋‹ค. 1ํšŒ์ „ : 0๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋จธ์ง€ ๋ฐ์ดํ„ฐ์™€ ๋น„๊ตํ•˜์—ฌ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’๊ณผ ์ž๋ฆฌ๋ฅผ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜์—ฌ 0๋ฒˆ์งธ ์ธ๋ฑ์Šค์—๋Š” ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค. 2ํšŒ์ „ : 1๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋’ค์— ๋‚จ์€ ๋‚˜๋จธ์ง€ ๋ฐ์ดํ„ฐ์™€ ๋น„๊ตํ•˜์—ฌ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’๊ณผ ์ž๋ฆฌ๋ฅผ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜์—ฌ 1๋ฒˆ์งธ ์ธ๋ฑ์Šค์—๋Š” ๋‘๋ฒˆ์งธ๋กœ ์ž‘์€ ๊ฐ’์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค. ์ž๋ฐ” ์ฝ”๋“œ public class App { public static void ma..

    [์ž๋ฐ”/ํŒŒ์ด์ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ˆœ์œ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    int[] scores = { 100, 33, 44, 55, 66, 77, 88 }; 100 1๋“ฑ 33 7๋“ฑ 44 6๋“ฑ 55 5๋“ฑ 66 4๋“ฑ 77 3๋“ฑ 88 2๋“ฑ ์ž๋ฐ” public class Hello { public static void main(String[] args) { // [1] Input : ์ž๋ฃŒ๊ตฌ์กฐ int[] scores = { 100, 33, 44, 55, 66, 77, 88 }; int[] rankings = new int[scores.length]; // [2] Process : RANK for (int i = 0; i < scores.length; i++) { rankings[i] = 1; //1๋“ฑ์œผ๋กœ ์ดˆ๊ธฐํ™”, ์ˆœ์œ„ ๋ฐฐ์—ด์„ ๋งค ํšŒ์ „๋งˆ๋‹ค 1๋“ฑ์œผ๋กœ ์ดˆ๊ธฐํ™” for (int j = 0; j..

    [์ž๋ฐ”/ํŒŒ์ด์ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ๊ทผ์‚ฟ๊ฐ’ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    TIP ์ฐจ์ด๊ฐ’์˜ ์ ˆ๋Œ€๊ฐ’์˜ ์ตœ์†Œ๊ฐ’ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์ฐจ์ด๊ฐ’์˜ ์ ˆ๋Œ€๊ฐ’์„ ๋‹ด์•„์ค„ min ๋ณ€์ˆ˜์™€ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ด๊ธธ near ๋ณ€์ˆ˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์ด ์ค‘์š” ํฌ์ธํŠธ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜! ์ž๋ฐ” import java.util.Arrays; public class App { public static void main(String[] args) throws Exception { //[1] Initialize int min = Integer.MAX_VALUE; //[2] Input int [] numbers = {23,56,65,2,2,3,3}; int target = 25; int near = 0; //[3] Process : MAX for(int x : numbers) { if(Math.abs(target - x) < min..

    [์ž๋ฐ”/ํŒŒ์ด์ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ตœ๋Œ€๊ฐ’ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    ๋กœ์ง ํ๋ฆ„ //[1] Initialize //[2] Input //[3] Process : MAX //[4] Output ์ž๋ฐ” public class App { public static void main(String[] args) throws Exception { //[1] Initialize int max = Integer.MIN_VALUE; //[2] Input int[] nums = {3,56,65,2,2,3,3}; //[3] Process : MAX for(int x : nums) { if(x > max){ max = x; } } //[4] Output System.out.println(max); } } ํŒŒ์ด์ฌ nums = [3,56,65,2,2,3,3] max = 0 for x in range(..

    [์ž๋ฐ”/ํŒŒ์ด์ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ํ•ฉ๊ณ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    ์ž๋ฐ” public class App { public static void main(String[] args) throws Exception { //[1] Input : n๋ช…์˜ ๊ตญ์–ด ์ ์ˆ˜ int[] scores = {100, 75, 3 ,5 ,3, 22, 34}; int sum = 0; //[2] Process for (int i = 0; i < scores.length; i++) { sum += scores[i]; } //[3] Output System.out.println(sum); } } ํŒŒ์ด์ฌ my_list = [100, 75, 3,5,3,22,34] sum = 0 for x in range(len(my_list)): sum = sum + my_list[x] print(sum) ํ•„ํ„ฐ๋ง์€ ์•„๋ž˜์™€ ๊ฐ™์ด..

    [์ž๋ฐ”/ํŒŒ์ด์ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ํ•™์Šต ์ˆœ์„œ

    ์ž๋ฐ”๋ž‘ ํŒŒ์ด์ฌ์— ๊ด€์‹ฌ์ด ์ƒ๊ฒผ๋Š”๋ฐ, ์ƒˆ ์–ธ์–ด๋ฅผ ๊ฐ€์žฅ ๋นจ๋ฆฌ ํก์ˆ˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ทธ ์–ธ์–ด๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์งœ๋Š” ๊ฒƒ์ด๋ผ๋Š” ์ƒ๊ฐ์— ์ž๋ฐ”/ํŒŒ์ด์ฌ์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋‘๋“œ๋ ค๋ณด๋ฉด์„œ ์ฒด๋“ํ•  ์ƒ๊ฐ์ด๋‹ค. ์ž๋ฐ”๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์งœ๊ณ  ํŒŒ์ด์ฌ์œผ๋กœ ๋˜‘๊ฐ™์€ ๋กœ์ง์„ ๋‘๋“ค๊ฒจ๋ณด๋Š” ์‹์œผ๋กœ ์ง„ํ–‰ํ•  ์˜ˆ์ •์ด๋‹ค. (๋”ฑ๋”ฑํ•œ ์ž๋ฐ”๋กœ ์งค ์ˆ˜ ์žˆ๋Š” ๋กœ์ง์ด๋ฉด ๋น„๋‹จ๋ฑ€๊ฐ™์€ ํŒŒ์ด์ฌ์€ ๋Šฅ์ด ์งค ์ˆ˜ ์žˆ๋Š”๋ฐ ์—ญ์œผ๋กœ๋Š” ์„ฑ๋ฆฝํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ^_^;) ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌธ์ œ ํ•ด๊ฒฐ๋Šฅ๋ ฅ์ด๋‹ค. - ํ•ฉ๊ณ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : tnduf - ๊ฐœ์ˆ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ํ‰๊ท  ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์ตœ๋Œ“๊ฐ’ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : max - ์ตœ์†Ÿ๊ฐ’ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : min - ๊ทผ์‚ฟ๊ฐ’ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ๊ฐ€๊นŒ์šด ๊ฐ’ - ์ˆœ์œ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ๋“ฑ์ˆ˜ - ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์„ ํƒ ์ •๋ ฌ, ๋ฒ„๋ธ” ์†ŒํŠธ, ํ€ต ์†ŒํŠธ ๋“ฑ - ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์ˆœ์ฐจ๊ฒ€์ƒ‰, ์ด์ง„๊ฒ€์ƒ‰(์ด๋ถ„..