달랩 첫 번째 코딩 도장 시간이었는데, 프로그래머스 Level 1 문제부터 차례차례 풀어나가기로 했다. 이 번에 푼 문제는 완주하지 못한 선수 문제였다. 두 명씩 짝을 지어서 짝 프로그래밍으로 문제를 풀었다. 먼저 어떤 언어를 사용해서 풀지 선택한 후 어떻게 풀 것인지 상의하고 문제를 풀기로 했다.
JavaScript 언어를 선택했다. 먼저 각자 처음 문제를 듣고 어떻게 생각했는지 얘기를 나눴다. 나는 주어진 데이터가 두 개 모두 Array라서 반복하면서 참가자가 있는지 확인하면 될 것 같다고 말했다. 수형님은 이 문제가 효율성까지 테스트하기 때문에 자료 구조를 해시 테이블로 변경한 후 진행하는 게 좋겠다고 하셔서 그렇게 하기로 했다.
Sudo 코드로 어떻게 풀 것인지 써 내려간 다음에 코드를 작성했다. 테스트를 먼저 작성하고 테스트가 통과하도록 문제를 해결했다.
테스트를 하면서 문제를 풀어서 어렵지 않게 할 수 있었고, 계획했던 대로 실행만 하면 돼서 쉽게 문제를 해결할 수 있었다. 문제를 풀고 나서 다른 사람들의 풀이를 살펴봤는데 생각지도 못한 해결법이 많아서 배울 것이 많았다. 정렬을 이용해서 푼 사람도 있었고 코드의 길이가 우리보다 훨씬 짧은 코드들도 있었다. JavaScript에서 한 번도 안 써본 방식을 쓰는 풀이도 있어서 새롭게 배운 점도 있었다. 다 풀고 남은 시간에 함수형으로 리팩토링을 했다. 사이드 이펙트가 발생하지 않도록 이뮤터블하게 코드를 리팩토링 했다.
다른 사람들의 풀이를 참고해 다르게 푸는 방법을 생각해볼 수 있었고, 다른 사람들과 풀이 과정을 공유해서 좋았다.
자바스크립트로 직접 만들면서 배우는 - 자료구조와 알고리즘 강의 바로 가기
실습으로 마스터하는 OAuth 2.0: 기본부터 보안 위험까지 - OAuth 2.0 강의 바로 가기
기계인간 이종립, 소프트웨어 개발의 지혜 - Git 강의 바로 가기
코드숨에서 매주 스터디를 진행하고 있습니다. 메일을 등록하시면 새로운 스터디가 시작될 때 알려드릴게요!