메뉴 리뉴얼

유승선 ·2022년 1월 10일
0

프로그래머스

목록 보기
5/48

최근들어 군대에서 자극을 많이 받고있다. 말출이 가까워질수록 미래에 대한 진지한 고민을 하게 되고 사지방에서 컴퓨터를 하면서 나와 같은 군인이 열심히 코딩스트를 준비하는 블로그도 보고 실제로 카카오에 합격한 사람들의 후기 글들을 보면서 나도 더 열심히 해야겠다는 생각이 많이 든다.

오늘은 프로그래머스 2020 카카오 블라인드 채용에 레벨2 문제였던 메뉴 리뉴얼 문제를 풀어보았다. 이미 풀어본 문제이지만 전에 풀어봤을 당시에는 잘 할줄 몰랐어서 다른 사람의 풀이를 참고해서 풀어보았고 이번에는 온전히 내 힘만으로 풀어보았다. 요즘에 LeetCode로 backtracking 문제와 재귀 관련된 문제를 꽤 풀어서인지 문제를 읽고 어떤 패턴이 보였고 꽤 거침없이 코드를 써봤다.

단품메뉴 벡터인 orders 가 주어졌을때 나는 이걸 모든 조합으로 만들어서 unordered_map 에다가 저장해야겠다는 아이디어가 떠올랐고 조합을 하는 코드를 쓸때 내가 이전 문제에서 배웠던 Combination Sum, Subsets 등등에 유사한 문제에서 사용했던 코드를 기억해네 완벽하게 써놨다. 비록 아쉬웠던 점은 조합을 만들고 나서 정렬(sort) 를 적절하게 사용했어야 테스트 케이스를 전부 통과할수있었는데 쉬운 단계에서 문제를 내가 잘 못읽었어서 어려운 부분을 다 했다 하더라고 고전을 했다. 아무래도 나의 사지방 이용시간은 제한되 있는데 문제를 읽었어도 다음날에 다시 풀어야하는 경우가 있기 때문에 문제에 요점을 자주 놓치는 기분도 든다.

그래도 확실히 성장한 기분이 들어서 뿌듯하고 오랜만에 Lambda를 이용한 정렬을 써보니깐 기분이 좋기도 했다. 카카오만을 목표회사로 두는건 아니지만 그래도 더 높은곳을 가기 위해서는 문제를 잘 읽는법을 배워야겠다는 생각이 들었다.

배운점:
1. 비슷한 문제들을 떠올리면서 코드를 작성하자
2. 문제를 잘 읽자
3. 계속 성장하기 위해서는 기록을 자주하자.

profile
성장하는 사람

0개의 댓글