21년 1월 16일

  • 한 일

    • 프로그래머스 외벽점검에서 같은 BFS라도 어떤 기준으로 푸느냐에 따라 오답이 될 수 있는 이유를 알아내었다.

      • 글로 설명하긴 어렵다.

      • 외벽점검 문제에서 weak포인트 배열을 기준으로 BFS를 돌리는데 첫 시작을 제일 능력있는 친구를 넣어놓고,

        그 다음부터 아무 친구씩 다음 weak포인트에 배치하는 식으로 돌리면 속도가 빠르다.

      • 자바로 풀었던 방법은 dist 배열(친구들)을 기준으로 BFS를 돌리는데 첫 시작을 제일 능력있는 친구를 넣는건 같지만,

        다음으로 능력있는 친구를 아무 weak포인트에 배치하게 풀어서 경우의 수가 너무 많아지고 시간초과로 오답이 된다.

      • 이 문제를 C++로 풀었을 때는 쉽게 풀었었는데, 다시 풀다보니까 BFS돌리는 기준을 잘못 잡아서 시간초과로 틀렸다.
      • 처음 이 문제를 만났을 때, DFS 또는 BFS로 풀어야 한다는 생각은 들지만 위의 사소한 조건을 딱 맞혀서 풀 자신이 없다.
    • 오늘은 거북목 때문인지 목이 너무 뻐근해서 하루를 쉬어버렸다..

    잘못한 것

    • 하루를 쉬고 공부를 못했다.

    잘한 것

    • 길게 보고 꾸준히 하기 위해서 아플때 쉬는 건 잘한 것 같다.

    느낌

    • 지금 내 실력으로 실제 코테에서 외벽점검같은 문제를 만났을 때 정답을 맞히는건 운이 좀 필요할 것 같다.
    • 실력이 좋아진다면 문제를 보고 설계하는 단계에서 저런 정확한 방법을 찾을 수 있을까 잘 모르겠다.

    할 일

    • 프로그래머스 알고리즘 풀기
    • TCP/IP 쉽게 더 쉽게 읽기