-
KOSTA 교육 17일차(Algorithm, 알고리즘, JSON, 라이브러리)Review 2020. 6. 21. 17:24
18.11.20(화)
배운 내용
- 알고리즘
- JSON 라이브러리
1. algorithm(알고리즘)
algorithm은?
컴퓨터를 이용하여 주어진 문제를 풀기 위한 방법이나 절차.
알고리즘과 자료구조는 모든 언어에서 사용 되지만 자바를 사용하여 체험학습 의미로 어제에 이어서 예제를 풀어보자
- t가 1보다 크고 50보다 작아야 하기 때문에 t를 if문에 조건으로 선언하고 참이면 break로 끝낸다.
- long타입으로 배열을 선언하여 더 큰 값을 받을 수 있도록 한다.
- inputs배열을 2개를 선언하여 값 2개를 입력할 수 있도록 하고 split을 이용하여 공백으로 구별할 수 있도록 해준다.
- a[i]는 inputs[0]으로 b[i]는 inputs[1]로 선언해준다. 이때 Long타입으로 String으로 변환해준다.
- 문제에 맞추어 a[i] >= b[i] && b[i] >= 1 && b[i] <= 5000면 break 해주고 아니면 조건이 맞지 않는 것이다.
- a가 b보다 크다면 계속 반복하여 2와 3을 반복해주고 day를 하루 추가해준다. 만약 b가 더 크다면 break로 끝낸 후 출력하면 된다.
여기서 중요한 점은 day를 다시 0값으로 하여 누적되지 않게 한다.
2. JSON 라이브러리
JSON은?
저장되어 있는 데이터를 전달받거나 전달하기 위하여 사용한다.
JSON의 이점
- 데이터의 크기가 작다.
- 사람이 읽고 쓰기가 용이하다.
- 개발 언어와 OS종류에 구애받지 않는다.
예제를 보면서 학습해보자
- name, address, age 변수를 선언하고 필요사항을 생성해준다.
- 먼저 JSON object를 code로 만들기 위한 예제이다.
- 라이브러리 생성 후 object에 대한 하나의 메소드를 생성하고 객체를 생성한다.
- 각 name과 address, age를 선언하고 obj 객체를 리턴한다.
- 두 번째 메소드도 마찬가지로 동일하게 생성한다.
- Main메소드에서 exam클래스 객체를 생성하고 각 객체별 메소드를 선언한다.
- toString을 이용하여 해당되는 값을 호출하면 obj의 객체 값이 컴파일된다.
- 다음은 ArrayList를 활용하여 code를 만드는 예제이다.
- ArrayList를 생성하고 각 Member를 생성한다.
- 그리고 jsoncode를 list에 toString ArrayList
- parser 객체를 생성해서 데이터를 뽑아오고 object를 null값으로 선언하고 try, catch문을 이용하여 예외처리를 해준다.
- instanceof 연산자를 사용하여 형변환이 가능하다면 형변환을 하고 Iterator를 통하여 배열을 읽어온다.
- while문을 사용하여 출력할 내용이 있을 때 까지 출력하는데 while문 내에선 강제형변환을 통해 자료를 출력할 수 있게 해준다.
- 이 값을들 list에 추가하여 출력하면 jsoncode에 들어가있던 list가 출력된다.
오늘 교육 간 느낀점
오늘은 어제에 이어 알고리즘과 JSON 라이브러리를 학습하였다. 알고리즘은 삼성에서 출제 되었던 기초문제를 풀어보았는데 생각보다 정말 어려워서 놀랐다… 이 정도를 풀어야 삼성 기초문제의 자격이 되는구나.. 그리고 추가적으로 DFS를 잠깐 체험했는데 이건 도저히 손을 댈 수가 없었다. 개념조차도 잘 이해가 안가고 적용은 더더욱 쉽지 않아서 강사님께서 지금 이걸 풀면서 좌절을 하지 말고 체험만 하라는 말씀을 해주셔서 가볍게 훑어만 보았다. 잠깐이지만 정말 힘들었던 기억이다….
그리고 JSON 라이브러리를 배웠는데 이 것도 생각보다 어렵고 이해가 안됐다..
생소한 메소드와 변수가 많아서… 하지만 또 익숙해지면 자연스럽게 할 수 있을거라 생각한다.
내일부터 금요일까지 자바에 대한 필기, 실기평가를 보게되는데 너무 걱정된다.. 자주 안쓰는 문법이나 이론은 많이 까먹은 상태라 오늘이라도 벼락치기 해서 조금 보강해야될 것 같다.'Review' 카테고리의 다른 글
KOSTA 교육 19일차(Project) (4) 2020.06.21 KOSTA 교육 18일차(이론평가, Project) (0) 2020.06.21 KOSTA 교육 16일차(알고리즘, 자료구조) (0) 2020.06.21 KOSTA 교육 15일차(File, Thread) (0) 2020.06.21 KOSTA 교육 14일차 (ArrayList, Sort, Comparable, Comparator, 입출력, Stream) (0) 2020.06.21