ABOUT ME

-

오늘
-
어제
-
-
  • KOSTA 교육 17일차(Algorithm, 알고리즘, JSON, 라이브러리)
    Review 2020. 6. 21. 17:24

    18.11.20(화)

     

    배운 내용

     

    1. 알고리즘
    2. 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 라이브러리를 배웠는데 이 것도 생각보다 어렵고 이해가 안됐다..
    생소한 메소드와 변수가 많아서… 하지만 또 익숙해지면 자연스럽게 할 수 있을거라 생각한다.
    내일부터 금요일까지 자바에 대한 필기, 실기평가를 보게되는데 너무 걱정된다.. 자주 안쓰는 문법이나 이론은 많이 까먹은 상태라 오늘이라도 벼락치기 해서 조금 보강해야될 것 같다.

    댓글