자료구조 & 알고리즘/백준(Baekjoon)

[백준] 17144(파이썬) - 미세먼지 안녕!

https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 최근 알고리즘을 다시 풀기 시작했습니다! 감각을 다시 익힐 겸 해서 구현 위주로 풀고 있다 보니 죄다 삼성 기출문제네요. 이번 문제도 어김없이.. 제가 문제를 읽고 처음 든 생각은 두 가지였습니다. 순서대로 일어난다 라는 조건이 있으니 조건 순서대로 구현을 해봐야겠다. 구현은 죄다 그래프를 쓰는 문제니 익숙해지자. 예를 들면 한 칸씩 움직인다던가 bfs, dfs 등등... 자 그럼 풀어보겠습니다..

2021.12.01 게시됨

글/개발

[Git] Git rebase, Git squash로 커밋 정리하기

최근에 회사에서 다른 프로젝트팀을 도와 translation작업을 한 적이 있습니다. branch를 새로 만들어서 git rebase 후, 작업을 해서 pull request를 올렸습니다. 당연히 이전에 제가 하지 않은 작업의 커밋까지 모두 올라갔고, 뭔가 정리를 해서 올려야겠다 라는 생각을 한 그 순간, 다른 팀원 분이 1분도 채 지나지 않고 comment를 달아주셨습니다. Squash and merge? git에 익숙하지 않은 저에게는 생소한 명령어였지만, 아 커밋을 정리해주는 명령어구나 라는 사실은 단 번에 알 수 있었습니다. 그래서 오늘은! Git Squash에 대해서 알아보려고 합니다. Git Squash 를 왜 써야 할까요? 협업을 진행하거나, 회사에서 소스코드를 수정할 때 보통 브랜치를 만듭..

2021.11.30 게시됨

자료구조 & 알고리즘/백준(Baekjoon)

[백준] 16236(파이썬) - 아기 상어

https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 이 문제를 처음 읽고 든 생각은 아래와 같습니다. BFS로 구현을 하고, 거리를 담을 리스트가 하나 더 있어야 한다 요즘 알고리즘 풀 때 하는 생각 : 주어진 조건대로 차근차근 생각하자 먼저, BFS 함수 안에 들어갈 input 값들에는 상어의 좌표와, 상어의 크기가 들어가야 합니다.간단하게 상어의 위치만 파악할 수 있는 2중 for문을 돌려서 상어의 좌표를 x, y에 저장해주고 상어의 크..

2021.11.28 게시됨

Back-end/Nest.js

[Nest.js]DTO란? Entity란?

요즘 진행 중인 백앤드 리뉴얼 프로젝트는 express 기반에서 Nest.js 기반으로 migration 하고 있습니다. 프레임워크를 바꾸는 만큼 대공사가 진행 중인데요, express에서는 mongoose로 하나의 controller에서 모든 쿼리를 수행했습니다. (어마어마하게 비효율적으로 코드가 짜여 있었지만, 차마 손댈 엄두가 나지 않았었습니다..) Nest.js를 사용해서 하나하나 진행하다 보니, 작업을 할 때 사용하던 entity 와 dto에 대해서 누군가에게 entity가 뭐고 dto가 뭐야? 왜 써야하는 거야?라고 질문을 받았다면 과연 정확하게 말할 수 있나? 를 생각해봤을 때 답은 아니오 였습니다. 그래서 이번 게시물에서는 아래의 내용들을 확실하게 짚고 넘어가려고 합니다. entity, d..

2021.11.27 게시됨