세진님, 동민님이랑 순댓국 먹으러 가다가 소수 및 골드바흐 이야기가 나왔는데, 오후에 해결 실패했던 골드바흐 의문점 해결함
배운 점
키보드 두 개 치시는 분 봤는데 굉장히 멋있었음. 이유를 들어보니 두 개 치는 게 자세에 좋다고 하셔서 보니까 노트북에 수그리고 치는 것보다 훨씬 좋아 보임. 배울 예정
재야의 고수들이 많고 난 평균도 안 될 수도 있겠다고 생각함. 더 열심히 할 거다
동민님이랑 운동하면서 자극을 느끼는 법 많이 배워가는 중. 여긴 동료에게도 배울 점이 참 많아서 좋다
창민이 형한테 한수 설명하면서, 완벽히 아는 문제를 설명할 때와 아닐 때가 많이 다르다는 걸 느낌. 한수는 완벽 이해
이승민 코치님이랑 이야기하다가 도피성 독서에 대한 생각이 정리됨. 알고리즘 풀기 싫을 때 CSAPP 2장을 읽으면서 뭔가 하고 있다는 생각에 내가 속아 넘어간 것 같음. 그렇게 오늘 오후를 버려버린 것 같아서 다시는 안 그럴 예정. 책은 30분 이내로 읽고 도구로써 활용해야지
차라리 답을 조금 보더라도 같은 유형의 알고리즘 문제를 더 풀어봐야겠다라고 생각함
어려웠던 점 & 해결
N-Queen: 아직도 다시 풀라면 조금 힘든 듯
완전탐색: 두려워서 손도 못 대는 중. 외판원 2 풀다가 입력부터 이해를 못 해서 창민이 형이랑 이야기하다가 간신히 입력만 이해함. 내일 아침에 맑은 정신으로 외판원 해결할 예정
하노이: 내가 생각한 로직의 흐름은 맞았지만 세부 구현을 이해하는 방식이 틀려서 다시 공부
순열/조합 코드 구현: 선목님께 배웠는데, 라이브러리 사용도 좋지만 나중에 다른 문제에서 실제 구현 및 응용이 나온다고 하여 다시 공부함
N-Queen 다른 해법: 내가 이해한 방법은 퀸을 놓고 나서 죽는 자리를 set으로 공유하며, 만약 놓은 퀸이 set에 걸리면 되돌리는 식이었음. 선목님은 놓은 퀸을 기준으로 검사하여 다른 퀸이 있는지 찾음. 비슷하지만 로직이 다름
골드바흐 의문점: 가장 중요한 문제의 조건을 놓치고 있었음. 합을 검사하는 로직이 없어서 *“그럼 소수 하나를 넘겼을 때 그 소수와의 조합으로 최적해가 안 나온다는 걸 어떻게 검사하지?”*라는 의문이 있었는데, 다른 분들이 풀었던 방법을 이야기하다 보니 깨달음을 얻음. 애초에 left, right를 1씩 검사하며 합이 N이 되도록 유지하면서 순회하기 때문에, 소수 하나가 스킵되더라도 그 소수는 이미 후보에서 탈락이었던 것