21년 1월 14일
한 일
-
객체지향적으로 프로그래밍 하기를 해봤다.
- 입력으로 (x, y) 좌표들을 받는다.
- 좌표가 2개면 선의 길이, 좌표가 3개면 삼각형 넓이, 좌표가 4개면 직사각형 넓이(직사각형인지 검사)를 출력한다.
- 점부터, 선, 삼각형, 직사각형 등을 클래스로 설계하고 상속과 다형성을 사용하여 객체지향적으로 프로그래밍해야한다.
-
위의 요구사항대로 완성은 아직 못했다.
-
삼각형과 직사각형은 도형이라는 추상클래스를 공통 부모 클래스로 두면 될 것 같은데,
선은 삼각형이나 직사각형과 전혀 달라서 설계가 안된다.
- 도형이라는 추상클래스에 높이, 너비, 넓이를 구하는 메소드를 정의하고 삼각형과 직사각형은 이를 오버라이드하게 하였다.
- 선은 단순히 길이를 구할 뿐인데, 선은 도형과 전혀 다르지 않나?? 선,삼각형,직사각형 세 타입을 어떻게 묶어야 하는지 모르겠다.
-
-
OOP의 기본개념을 정리하여 포스팅하였다.
-
프로그래머스 기둥과 보 설치 문제를 풀었다.
- 단순 시뮬레이션 문제였다.
- 푸는 방법보다 구현이 복잡한 문제여서, 꼼꼼하게 경우의 수를 생각하고 꼼꼼한 코딩을 해야 하는 문제이다.
-
프로그래머스 외벽점검 문제 풀기 실패하였다.
- C++로 BFS를 통해 풀었던 문제인데, 자바로 BFS를 통해 풀었더니 시간초과가 난다.
- BFS로 푸는과정에서 예전과 로직이 달라서 시간초과인지, 자바로 풀어서 시간초과가 난건지(그럴 확률은 낮지만) 내일 확인하려한다.
잘못한 것
- 저녁에 코딩테스트 공부가 길어지다보니, 계획했던 다른 공부를 전혀 하지 못한다.
잘한 것
느낌
- 알고리즘을 자바로 푸는게 맞는가 확신이 들지 않는다. ㅠㅠ
- 전에 풀었던 외벽점검 C++ 답과 똑같은 로직을 자바로 구현하여 시간을 재볼 것이다.
- 똑같은 로직인데도 자바가 시간초과가 난다면, 파이썬이나 C++로 옮길 것이다
할 일
- 코드스쿼드 미션 진행
- 프로그래머스 알고리즘 풀기
- 외벽점검 문제 C++ 답안과 동일하게 자바로 구현해보기
- 자바의정석 읽기