← 블로그

· TIL

250907 TIL: 정글 생존 7일차

TIL (Today I Learned)

오늘 한 일

  • 하노이 처음부터 다시 이해함
  • CSAPP 1장 완독, 2장 훑어보기 (머리에 잘 안 들어옴..)
  • permutation과 combination 코드로 구현하는 법 익힘
  • N-Queen 문제의 다른 해법 배움
  • 세진님, 동민님이랑 순댓국 먹으러 가다가 소수 및 골드바흐 이야기가 나왔는데, 오후에 해결 실패했던 골드바흐 의문점 해결함

배운 점

  • 키보드 두 개 치시는 분 봤는데 굉장히 멋있었음. 이유를 들어보니 두 개 치는 게 자세에 좋다고 하셔서 보니까 노트북에 수그리고 치는 것보다 훨씬 좋아 보임. 배울 예정
  • 재야의 고수들이 많고 난 평균도 안 될 수도 있겠다고 생각함. 더 열심히 할 거다
  • 동민님이랑 운동하면서 자극을 느끼는 법 많이 배워가는 중. 여긴 동료에게도 배울 점이 참 많아서 좋다
  • 창민이 형한테 한수 설명하면서, 완벽히 아는 문제를 설명할 때와 아닐 때가 많이 다르다는 걸 느낌. 한수는 완벽 이해
  • 이승민 코치님이랑 이야기하다가 도피성 독서에 대한 생각이 정리됨. 알고리즘 풀기 싫을 때 CSAPP 2장을 읽으면서 뭔가 하고 있다는 생각에 내가 속아 넘어간 것 같음. 그렇게 오늘 오후를 버려버린 것 같아서 다시는 안 그럴 예정. 책은 30분 이내로 읽고 도구로써 활용해야지
  • 차라리 답을 조금 보더라도 같은 유형의 알고리즘 문제를 더 풀어봐야겠다라고 생각함

어려웠던 점 & 해결

  • N-Queen: 아직도 다시 풀라면 조금 힘든 듯
  • 완전탐색: 두려워서 손도 못 대는 중. 외판원 2 풀다가 입력부터 이해를 못 해서 창민이 형이랑 이야기하다가 간신히 입력만 이해함. 내일 아침에 맑은 정신으로 외판원 해결할 예정
  • 하노이: 내가 생각한 로직의 흐름은 맞았지만 세부 구현을 이해하는 방식이 틀려서 다시 공부
  • 순열/조합 코드 구현: 선목님께 배웠는데, 라이브러리 사용도 좋지만 나중에 다른 문제에서 실제 구현 및 응용이 나온다고 하여 다시 공부함
  • N-Queen 다른 해법: 내가 이해한 방법은 퀸을 놓고 나서 죽는 자리를 set으로 공유하며, 만약 놓은 퀸이 set에 걸리면 되돌리는 식이었음. 선목님은 놓은 퀸을 기준으로 검사하여 다른 퀸이 있는지 찾음. 비슷하지만 로직이 다름
  • 골드바흐 의문점: 가장 중요한 문제의 조건을 놓치고 있었음. 합을 검사하는 로직이 없어서 *“그럼 소수 하나를 넘겼을 때 그 소수와의 조합으로 최적해가 안 나온다는 걸 어떻게 검사하지?”*라는 의문이 있었는데, 다른 분들이 풀었던 방법을 이야기하다 보니 깨달음을 얻음. 애초에 left, right를 1씩 검사하며 합이 N이 되도록 유지하면서 순회하기 때문에, 소수 하나가 스킵되더라도 그 소수는 이미 후보에서 탈락이었던 것