항해99 33일차

coffeed-cat·2021년 6월 21일
0

항해99 기록

목록 보기
35/90

2021/06/21 월요일 Chapter 2 : 2-1일차

알고리즘 달렸다.

오늘은 문제를 모르면 해답을 보기보단 최대한 스스로 생각하고 개념에 관한 책이나 관련자료를 찾아서 개념을 확실히 잡고, 문제풀이에 응용하는 방식으로 풀었다. 확실히 이 방식이 시간은 많이 걸리지만, 문제를 내걸로 만들 수 있었다.

계단오르기와 터렛, 블랙잭 문제 총 세개를 풀었다.

계단오르기는 예전에 산 알고리즘 책의 동적계획법 챕터를 한번 쓱 읽고나서 참고해가면서 풀었다. 메모이제이션에는 최대크기 캐시를 2차원배열로 미리 초기화시켜놓고 해당하는 index에 넣는 방식을 사용했다. 이 문제는 내일 점심먹고나서 글을 따로 쓸 예정이다.

터렛 문제는 예전에 한번 풀었던 기억이 있어서, 다시 떠올리는데 시간이 걸리긴 했지만 어렵지 않게 풀었다.

블랙잭.. 기나긴 삽질을 했다.
이것만은 내 방식으로 풀어보고 싶어서 나름 이때까지의 풀이들을 활용해서 최대한 효율적으로 설계해봤다.
근데 497이 출력되어야 하는데 계속 495만 출력돼서 질문게시판을 보니, N이 작으니까 그냥 경우의 수 전부 구하는게 낫단다.
그래서 중간중간에 넣었던 continue조건들을 전부 없앴더니 정상적으로 출력됐다. 하지만 내 설계가 오작동하는걸 눈으로 봤는데 어떻게 그냥 끝내겠는가. 어떻게든 설계의 오점을 발견하려고 군데군데 print를 넣어서 인덱스값이나 합계값을 출력해서 정답코드의 출력과 비교해봤다. 이상한 곳을 한군데 발견하긴 했는데 그 원인을 모르겠어서, 또 그 원인을 찾는데 한세월 걸려서 결국 찾아냈다. 역시 문제는 continue조건문에 있었다. current_sum이 M을 넘어가면 continue하도록 짰는데, continue를 하기 전에 current_sum에 더했던 값을 다시 빼주는 코드를 안넣었던것이다.
너무도 사소한 실수였다.
시간을 많이 투자했지만 내 설계가 틀리지 않았기에 오히려 기쁘다.

오늘 배운것

  • 점과 점 사이의 거리
    sqrt((x2-x1)^2 + (y2-y1)^2)
    어차피 제곱이라서 x2 x1 순서는 상관없음

해야 할 일

  • ⌛체크아웃!!(매일매일)⏳

  • ✅WIL 작성

  • ✅DP 복습

  • ❔Heap의 최대높이, insert 시간복잡도 복습
    하긴 했는데 아직도 이해가 안간다

  • ❗숙제풀기만하고 아직 안본 설명영상들 한번씩 시청

    • ❗3주차 숙제
    • ❗4주차 숙제
    • ❗2주차 더하거나빼거나 문제 복습
  • AWS Lambda, 마이크로 서비스 조사

profile
공부중

0개의 댓글