오늘 프로그래머스에 있는 문제 2개를 풀었다. 하나는 저번에 못 풀었던 island 문제였고 다른 하나는 예산이라는 문제였다. island의 문제는 크루스칼 알고리즘으로 풀어 나가는 거였다. 결국에는 못 풀었다. 나중에 예산이라는 문제를 풀어 봤다. 이중 탐색으로 원하는 값을 출력하면 되는데 이중 탐색으로 원하는 값을 가져왔다고 생각을 했는데 프로그래머스에 제출을 하게 되면 거의 다 실패로 떴다.
프로그래머스 문제를 푼 후에 스터디를 했다. 스터디를 하면서 모르는 것을 물어보고, 아는 것을 알려 주면서 더 명확하게 알아갔다.
NextStep 문익점의 3단계 문제-자동차 경주를 요구 사항에 따라 작성했다. 초간단 하게 자동차 개수 입력값과 몇 번 경주를 돌릴지의 입력값을 받는다. 이번에는 메시지를 줄 때 당시에 메서드를 짜고 그에 맞는 객체를 짜고 그 객체에 대한 테스트를 만들었다. Racing game에서 car에 move라는 메시지를 보내서 car을 만들고 그 안에 move라는 메시지를 만들었다. move를 하기 위해서 movable 인지 알기 위해서 movable을 만들고 movable 인지 알기 위해서 randomGenerator을 만들었다. 그리고 그에 따른 테스트를 만들었다. 이것을 다 만든 후에 view에 대한 만들고 app에서 그것을 쓸 수 있게끔 만들었다. 마지막에 모든 것을 연결하고 마무리했다.
Feelings
그리디는 너무 어려운것 같다. 크루스칼/??
객체 지향적으로 짠다고 했는데 맞는지 모르겠다.
Findings
탐욕적 문제를 풀 때 당장 가장 좋다고 생각하는 선택을 골라서 쓴다.
크루 스컬은 가장 비용이 적은 연결선부터 골라서 모든 노드가 연결될 때까지 연결하는 것이다.
Future Action
문제를 못 풀 시에 그냥 문제의 답을 보던가 풀이를 보고 풀어보자.
객체 지향적으로 짜는 방법을 잘 모르는것 같다. 모르면 책을 읽고 자료를 살펴보면서 계속 공부하면서 하도록 하자.