부트캠프 일지

부트캠프 48일차 일지

여름하인 2024. 2. 2. 21:04

오늘 CodeKata는 2문제를 풀었다. 첫 번째 문제는 재귀를 활용한 Bruteforce 문제였기에 금방 해결했지만, 두 번쨰 문제를 보자마자 해결책이 떠오르지 않아서 어떻게 풀지 많이 고민을 했었다.

https://school.programmers.co.kr/learn/courses/30/lessons/181188

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

일단 첫 걸음은 정렬이였다. 경험상 대게 이러한 문제들은 정렬을 활용하는 경우가 많았기에 sortWith를 활용하였다.

그러자 하나의 해결책이 떠올랐다. 스위핑하게 문제를 해결하는 것인데, 일단 오름차순으로 정렬한다. 이것은 Kotlin의 sortWith를 사용하면 금방 구현할 수 있다. 일단 라인을 하나로 기준을 두었고, 그 라인과 겹치는 것이 있다면, 겹치는 라인으로 기준을 옮기는 방식이다. 그리고 겹치치 않으면 답 카운트를 올린다. 이 방식은 내가 문제를 보자마자 생각한 난이도보다 훨씬 쉬웠다.

 

그렇게 이 문제를 해결하나 싶었는데, 틀렸습니다가 나왔다. 이 방식이 아니였던 걸까? 라고 생각하며 해당 문제의 질문 게시판을 둘러보던 중에, 내가 intellij에서 테스트한 코드를 그대로 가져왔었다. 그러니까, 변수를 재정의한 탓에, 틀렸던 것이다... 재정의한 변수를 지워서야 그제야 문제를 해결을 할 수 있었다. 다음부턴 변수가 재정의 되었는지 다시 확인하자.

 

오늘은 docker compose에 대해 배웠다. docker compose는 yaml 파일을 활용하는데, 여러 개의 컨테이너를 관리하는 기능을 제공한다. 또한 htop을 활용하면 시스템을 모니터링을 할 수 있다는 것을 알게 되었다. 이 부분들은 다시 강의를 보며, 이해를 해보도록 노력해야겠다.

 

오늘은 좀 바빠서 많은 것을 배우지 못했다. 내일은 강의를 마저 듣도록 하자.