본문 바로가기

ETC (생각 보관소)

(3)
코딩테스트 연습 한달차 후기 프로그래머스를 풀기 시작한지 이제 막 한달차에 접어들었고 LV0 문제를 5개 정도 남겨놓은 시점이다. 대략 120문제 정도를 한달간 풀었다. 초반부 문제들은 쉬운 것들이라 금방 풀었는데, LV0 문제도 마지막 쯤에 가니 LV1 만큼이나 어려운 것들이 보이는 것 같다. 아마 내일이면 0단계는 끝날 것 같다. 한달 하고 후기를 적을 생각은 없었지만 오늘 새로운 개념이라고 해야할까. 새로운 문제풀이 방식을 보고 내가 생각을 너무 가둬놓고 있었구나 싶은 감상이 들어서 나중에 참고하고자 기록을 적어둔다. 오늘 다른 사람의 풀이를 보다가 Solution 클래스 안에서 메서드를 새로 만들어서 호출하는 방식을 사용하는 풀이를 보았다. 생각해보니 메서드를 새로 만들어서 호출하면 더 간결하고 명확하게 풀 수 있는 문제들이..
스트림과 람다에 대한 생각 어제부터 스트림과 람다에 대해서 배우기 시작했다. 기존에 사용하던 for 문이나 if문을 사용하지 않아도 간결하게 코드를 짜낼 수 있는 것이 편리했고 특히나 sum()이나 fliter()과 같이 메서드 이름만 보아도 무슨 기능을 할 수 있는지 직관적으로 알 수 있어서 굉장히 좋았던 것 같다. 다만 스트림을 사용했을 때 유지보수 측면이나 stream 반복처리 도중 내부에서 발생한 예외가 stream 외부로는 전달이 안 되는 경우가 있다는 글들을 접해서 언제 써야할지, 쓰지 말아야할지 잘 판별하는 것도 중요할 것 같다. 실제 업무에서도 많이 쓰게되는 추세라고 하니 함수형 인터페이스가 쓰이는 부분들에서는 람다를 연습해보면 좋을 것 같다. 아직 손에 잘 익지 않아서 작성법이 계속 헷갈리기는 한다. 코딩테스트 문..
손코딩을 연습해야 하는가 손코딩. 말 그대로 IDE의 도움 없이 A4 용지에 손으로 코딩하는 방식. 코딩 테스트에 종종 사용된다고 하여 찾아보았다. 손으로 푸는 방식이라 저마다 방법이 달라서 명확한 규격이 있는 것은 아닌 것 같지만 대체로 큰 틀은 유지하는 것 같다. 검색을 통해 찾아보니 손으로 문제를 푸는 게 왜 필요한지 모르겠다는 글들도 많이 접할 수 있었다. IDE 자동완성과 적합한 대안 추천 기능이 있는데 시험을 위한 시험이 아닌가 하는 의문점들이 대부분이었다. 그러나 시험이 아닌 경우 실제로 코드를 짤 때에는 IDE와 구글 검색의 도움을 받을 수 있을 지 모르지만 어쨌든 코딩테스트 문제를 푸는 것은 로직을 연습하는 것이니까. 연습하는 동안은 손으로 로직을 짜보는 것도 좋을 것 같다. 로직을 정확하게 이해하고 실행 흐름을..