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 - ๊ทผ์ฟ๊ฐ ์๊ณ ๋ฆฌ์ฆ : ๊ฐ๊น์ด ๊ฐ - ์์ ์๊ณ ๋ฆฌ์ฆ : ๋ฑ์ - ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ : ์ ํ ์ ๋ ฌ, ๋ฒ๋ธ ์ํธ, ํต ์ํธ ๋ฑ - ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ : ์์ฐจ๊ฒ์, ์ด์ง๊ฒ์(์ด๋ถ..