한윤석 개발 블로그

배운 것을 적는 블로그입니다.

달랩 멘토링 짝 프로그래밍 실습 8번째 회고

등록일: 2019-10-09
수정일: 2019-10-09

카카오 2020 블라인드 테스트 5번 문제

이번 블라인드 테스트는 4개 이상만 풀면 통과였다. 1, 2, 4번을 풀었고 5번 문제만 잘 풀었다면 통과했을 텐데 아쉬웠다. 모든 문제를 다 풀어봐야 하겠지만 일단 이 문제 때문에 떨어졌으니 이 문제를 풀기로 했다.

TDD 연습이 아직 덜 되어있다고 느꼈다. 테스트를 먼저 작성하는 것은 이제 되지만 테스트가 필요할 때 적절히 테스트를 나눠서 하는 것이 연습이 잘 안되어 있다고 생각했다.

적혀 있는 그대로 코드로 옮기기

조건 중에 이런 조건이 있다. 기둥은 바닥 위에 있거나 보의 한쪽 끝부분 위에 있거나, 또는 다른 기둥 위에 있어야 합니다. 보의 한쪽 끝이니 왼쪽이든 오른쪽이든 상관이 없다. 문제를 풀 당시에 자료구조가 NxN 매트릭스에 값이 0 혹은 1을 가지도록 구현했다. 한 좌표에 기둥과 보가 동시에 있을 수 있는데 문제 예제에서도 그런 그림이 없었고, 현재 내 자료구조에 담을 수 없으니 안되는 경우라고 생각해버렸다. 아샬님과 짝 프로그래밍을 하며 같이 문제를 풀 때 생각보다 엄청 간단하게 풀렸다. 문제에 있는 조건을 그냥 코드로 구현했더니 문제가 풀렸다. 내가 너무 문제를 어렵게 만들어서 필요 없는 것까지 구현을 했다. 문제와 조건을 잘 확인 안 하고, 자료구조에 문제를 끼어 맞췄다. 문제에 맞게 자료구조를 변경하고 코드를 구현해야 하는데 반대가 돼버렸다. 내가 짠 코드는 테스트 코드 포함해서 500줄이 넘어갔는데 이번에 푼 문제는 136 줄이다. 조건을 잘 확인하고 그리고 연습도 충분히 되어 있어야겠다.

코드

Sources


자바스크립트로 직접 만들면서 배우는 - 자료구조와 알고리즘 강의 바로 가기
기계인간 이종립, 소프트웨어 개발의 지혜 - Git 강의 바로 가기

코드숨에서 매주 스터디를 진행하고 있습니다. 메일을 등록하시면 새로운 스터디가 시작될 때 알려드릴게요!