Dgos

dongjune's dev blog

[프로그래머스] 모의고사 - C++

level 1

문제 프로그래머스 모의고사 풀이 정답이 일치하는 개수는 다음과 같이 3개의 배열을 미리 만든후 나머지를 이용해서 쉽게 구할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 int n1[5] = {1,2,3,4,5}; int n2[8] = {2,1,2,3,2,4,2,5}; int n3[10] = {3,3,1,1...

[프로그래머스] 스킬트리 - C++

level 2

문제 스킬 트리 풀이 skill_trees의 첫번째 원소가 “BACDE”, skill 이 “CBD”라고 해보자. 우선 BACDE 를 한 문자씩 순회하며 CBD중 한 가지이면 temp vector에 추가해준다. 이 경우에 temp는 {B, C, D} 가 된다. temp가 CBD의 순서를 지킨다면 이 스킬트리는 옳은 스킬트리이다. 하지만 이 경우는 {...

[백준] 15686번 치킨배달 - C++

구현, 브루트포스

문제 15686번 치킨배달 풀이 dfs를 통해 치킨집을 고르는 모든 조합을 선택해준다. 1 2 3 4 5 6 7 8 9 10 11 void chooseChicken(vector<Pos> &choice, int L, int idx) { if (L == M) { minDist = min(minDist, getChickenDis...

[백준] 15685번 드래곤커브 - C++

구현, 시뮬레이션

문제 15685번 드래곤커브 풀이 드래곤 커브의 방향은 0 (동쪽), 1 (북쪽), 2 (서쪽), 3 (남쪽) 이다. 그리고 드래곤 커브는 일정한 규칙을 갖는다. 0세대 : 0 1세대 : 0 1 2세대 : 0 1 2 1 3세대 : 0 1 2 1 2 3 2 1 1세대와 2세대를 살펴보자. 1세대는 ‘0 1’ 이고 2세대는 ‘0 1’ ...

[백준] 15684번 사다리조작 - C++

구현, 백트래킹, 브루트포스

문제 15684 사다리조작 풀이 사다리 게임이 주어지면, 가로선을 추가해서 모든 번호가 자신의 번호로 도착하게 만들어야 한다. 이 때 추가하는 가로선의 최소 개수를 구하는 문제이다. 이 문제 역시 dfs를 통해 선을 추가하는 모든 경우의 수를 검사했다. 소스 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...

[백준] 15683번 감시 - C++

구현, 시뮬레이션, 브루트포스

문제 15683번 감시 풀이 브루트포스 알고리즘으로 모든 경우의 수를 찾아야 하는 문제이다. dfs를 통해 모든 cctv의 모든 방향을 고려하여 map을 그려주고, 그때마다 사각지대의 최소 크기를 갱신했다. 소스 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...

[Project] Simple Movie App - React

Responsive Web

Github Repository Description 영화 정보 api를 사용하여 영화 정보 리스트를 보여주는 앱 개발 언어 : React 실행 화면

[Project] YOLO v5 face detection of Son - Python

deep learning, computer vision

Github Repository Description yolo v5를 이용하여 손흥민의 얼굴을 detection 한다. 개발 환경 : Google Colab Detection 결과 꽤 좋은 성능을 보여줬지만, 가끔 다른 선수를 손흥민으로 인식한다. validation set의 성능이 100epoch 부터 향상되지 않는 것으로 보...

[백준] 14891번 톱니바퀴 - C++

구현, 시뮬레이션, deque

문제 14891 톱니바퀴 풀이 톱니바퀴는 12시 방향이 0번 index로 시작해서 시계방향 순서로 index를 갖는다. 나는 톱니바퀴의 회전 수행을 쉽게 하기 위해 톱니바퀴의 상태를 deque에 저장했다. 톱니바퀴의 2번 인덱스는 오른쪽 톱니, 6번 인덱스는 왼쪽 톱니이다. 우선 입력으로 회전하는 바퀴와 회전방향이 주어지면, 재귀 함수를 통해 모든...

[백준] 14890번 경사로 - C++

구현

문제 14890 경사로 풀이 행과 열을 체크하는 함수를 따로 만들었다. for 문을 돌며 길이 불가능하다면 break 하여 ans에서 1을 빼주는 형식으로 수행했다. 다음의 조건들이 성립되면 길이 불가능하다. 인접하는 두 수의 차이가 2 이상이다. 경사로를 놓았을 때 범위를 벗어난다. 경사로를 놓은 부분이 평지가 아니다. 경사로를 놓은...