JAVA_Learn/Do it! _ Algorithm Study 15

#15. 5주차 과제 2 [Chap06_6-4 ~ 6-5]

6-4. (SelectionSort) _ 단순 선택 정렬 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 package practice; import java.util.Scanner; public class SelectionSort_6_4 { static void swap(int[]a, int idx1, int idx2) { int t = a[idx1]; a[idx1] = a[idx2]; a[idx2] = t; } static void selectionSort(int[]a, int n) { for (int i..

#14. 5주차 과제 1 [Chap06_6-1 ~ 6-3]

스터디를 중도 하차 했다. 국비과정을 수료하며 각양각색의 언어를 1주일 단위로 소화하고 있는 내게 DoIt이 제시하는 자료구조 알고리즘까지 소화할 자신이 없었기 때문이다. 중도하차라니... 첫째 스터디원 분들께 무척 죄송하고, 둘째 스스로의 역량을 잘못판단했다는 씁쓸함이 느껴진다. 물론 기본적인 알고리즘에 대한 이해를 쌓는 일은 중요하다. 다만, 개발자 입문을 준비하는 내게는 현업에서 쓰일 Spring + Front단 언어들(css, js 등)의 숙련도를 올리는 것이 더 필요한 일이라고 결정했다. 하지만 이왕 펼친 책이니 천천히라도 하던 것처럼 책에 있는 코드 업로드를 할 예정이다. 6챕터는 '정렬'에 관한 내용이다. 6-1. (BubbleSort1) : 버블정렬이란, 이웃한 두 요소의 대소관계를 비교하..

#12. 4주차 과제 2 [Chap05_5-2 ~ 5-6]

5-2. (EuclidGCD) _ 유클리드 호제법을 이용한 최대공약수 구하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 package practice; import java.util.Scanner; /* * 유클리드 호제법 * * 2개의 자연수 또는 정식의 최대공약수를 구하는 알고리즘의 하나. * * 호제법이란 말은 * 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘. * * 2개의 자연수(또는 정식) a, b에 대해서 * a를 b로 나눈 나머지를 c라 하면(단, a>b), * a와 b의 최대공약수는 b와 c의 최대..

#11. 4주차 과제 1 [Chap05_5-1]

5-1. (Factorial) _ 재귀호출을 이용한 팩토리얼 구하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 package practice; import java.util.Scanner; public class Factorial_5_1 { static int factorial(int n) { //System.out.println("팩토리얼진입!"); // 몇번 호출하는지 보려고 작성함;; if(n > 0) return n*factorial(n-1); else return 1; } public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); System.out.p..

#10. 3주차 과제 3 [Chap04_4C-1]

4C-1. (LastNElements) _ 마지막 N개만 저장하는 순환배열만들기. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 package practice; import java.util.Scanner; /* * 원하는 개수만큼 값을 입력 받아 * 요솟수가 N인 배열에 마지막 N개를 저장. * * 데이터를 계속 입력할 수는 있지만 저장은 10개만 한다. * 11번째 값이 입력되면 기존 0번방에 덮어쓰게 됨. * * 10개만 쓸거다! 라고 하면 더 간단하게 할 수 있겠지만 * 아래와 같이 코드를 쓴다면 재사용성이 더 높아질 것. *..

#8. 3주차 과제 1 [Chap04_4-1 ~ 4-2]

Stack 과 Que 의 자료구조를 공부하는데에 있어 직접 만들어 보는 것 만큼 좋은 경험은 없을것이다. 책에 가끔 "이렇게까지 하라고...?" 싶은 코드가 있는데 이번 실습 타이핑은, 타이핑 하면서도 흥미진진했다.!! 4-1. (IntStack) + [B]+[C]+[D]+[E] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 8..

#6. 2주차 과제 2[Chap03_5]

이번주에는 본격적인 CSS 레이아웃 수업을 했다. 하하... 털렸네 털렸어 JAVA를 배울 때는 이렇게 힘들지 않았는데;;;; (이렇게 쓰면 이렇게 나오겠구나~ 하고 그림이 그려짐) CSS 는 당최 머릿속에서 그림이 안그려진다 ㅠㅠㅠㅠㅠㅠ 외울 것들은 왜이렇게 많고 ㅠㅠㅠㅠㅠ JAVA 스터디 공부하면서 힐링 중 ㅜㅜ 3-5. (BinarySearchTester) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 package practice; import java.util.Arrays; import java.util.Scanner; public class BinaryS..