오늘은 아침에 아마존 서비스에서 내가 올린 애플리케이션을 다시 작동 시켰다. 저번처럼 돈 나갈까봐 꺼놨었는데 조만간 다시 꺼야겠다. 돈 나가면 울화통 터지니.
오늘은 문제만 주야장천 풀기만 했다. 새로운 문제들은 아니었고 저번에 못 풀었던 것들 이였다. 하나는 ”섬 연결하기”라는 문제였다. 이 문제에서 탐욕 법을 써서 노드와 노드 사이의 코스트가 제일 적은 것부터 담아서 모든 노드가 연결될 때의 최종 코스트를 반환하는 문제였다. 이 문제는 크루스칼 알고리즘을 써서 푸는 문제다. 제일 작은 노드 간의 연결 코스트부터 담아서 최종 코스트를 얻는 거였다. 다음 문제는 ”예산” 과 ”입국심사”였다. 둘 다 이분 탐색 문제였다. 어제 그냥 따라 쳐보기만 했다. 그래서 오늘 다시 풀어 봤다. 다시 풀어봤는데 여기저기 +1 -1 하고 비교할 때 원래 작을 때만 비교하던 것을 작거나 같을 때로 바꿔보면서 겨우 통과시켰다. 이분 탐색은 너무 어렵다. 나중에 짝 프로그래밍으로 이분 탐색 문제 중 ”징검다리”를 풀어봤다. 처음에는 이분 탐색 방식으로 안 풀더니 결국에 프로그래머스에 작성한 코드를 제출했을 때 반은 터졌다. 그 후에 풀이를 보고 풀어 보려고 했으나 풀이 자체가 이해가 안 돼서 그만뒀다.
Feelings
나의 문제 풀이 실력 한계 레벨은 프로그래머스 문제 레벨로 표현하자면 2.5 인 것 같다. 3레벨 풀면 너무 고통스럽고 4레벨은 못 풀겠다.
Findings
이분 탐색 문제는 최대 최소를 골라서 그 최대 최소 중간 값을 지점으로 비교해서 조건에 따라 최소나 최대를 중간값으로 치환한 후에 계속 반복해서 얻고 싶은 결과를 얻는 방법이다.
이분 탐색 문제로 테스트 케이스가 통과 안돼도 프로그래머스에 코드를 제출할 시에 통과될 수도 있다.
Future Action
이분 탐색은 너무 더러워서 못 풀 것 같다. 다음에는 못 풀 것 같다는 신호가 오면 시간 낭비하지 말고 풀이 보고 풀도록 하자.