오늘 알고리즘 2 문제를 풀었다. 하나는 불량 사용자. combination(조합)만 써서 통과 안돼서 permutation(순열)도 썼다. 둘 다 인터넷에서 따온 거다. 이 문제 풀면서 정규식 공부하느라 또 시간 많이 허비됐다.
두번째 문제는 보석 상점 이다. queue로 풀려다가 4시간 동안 삽질했다. 테스트 케이스를 다 통과시켰는데도 안됐다. 그래서 계속 수정하다 보니 시간 초과도 떠서 결국엔 접었다. 접은 후에 맵을 썼다. 맵을 쓰니 생각보다 쉽게 통과시켰다.
오늘도 자바 TDD 연습을 계속하고 있었다.
Feelings
조합과 순열을 쓸 수 있게 되어서 좋다.
맵을 공부하게 되어서 좋았다.
오늘도 TDD 지옥이다. 뭐 할 때마다 설계 고민을 하는데 이 방향이 맞는지 모르겠다.
Findings
정규식 ”.”으로 하면 아무 한 숫자/문자다. 그래서 ”asd”.match(”a.d”) 하면 asd를 반환한다. 여기서 조심해야 할 것은 match는 ”asdasdasdasd”.match(”a.d”) 해도 통과되니 완전히 일치한 것만 돌려받고 싶다면 ”asd”.match(”^a.d$")로 해야 한다. 그리고 변수를 넣고 싶다면 "asd".match(\^${변수}$\)로 하면 된다.
gemMap.values().next().value 하면 매우 안에 있는 첫 번째 value를 가져올 수 있다.