전체 글657 [BOJ][16235] 나무 재테크 문제 : www.acmicpc.net/problem/16235 N x N 크기의 땅. 처음 모든 땅에는 5만큼의 양분이 들어있다. 한 칸의 땅에는 여러 개의 나무가 심어질 수 있다. M 개의 나무를 심었다. (x, y, z) = (x 좌표, y 좌표, 나이) K 년 후 살아있는 나무 개수를 구하라. 봄 : 나무가 자신 나이만큼의 양분을 먹으면 나이가 1 증가. 양분 못 먹으면 죽는다. 자신의 칸의 양분만 먹을 수 있다. 나이가 작은 순 부터 양분 섭취. 여름 : 죽은 나무가 양분(나이/2)으로 변한다. 가을 : 나무의 나이가 5의 배수일 때 인접한 8 칸에 나이가 1인 나무가 생긴다. 겨울 : A 배열만큼의 양분이 추가된다. 구현 문제. 배열은 총 3개를 사용했다. lands : 각 칸에 있는 나무의 나.. 2020. 11. 7. [leetcode][310] Minimum Height Trees 문제 : leetcode.com/problems/minimum-height-trees/ N개의 노드가 있고 N-1개의 간선으로 연결된 무방향 그래프가 주어진다. 그래프는 순환 경로가 없고 모든 노드가 연결되어 있다. 노드들 중 루트 노드가 된다면 최소 높이를 가진 트리를 가질 수 있는 노드들을 구하라. 지난번에 푼 트리지름 관련 문제 참고. 임의의 지점 0 노드를 시작점으로 BFS를 한 번 돌려서 가장 멀리 있는 노드들을 가져온다. 이 노드들로 다시 한 번 BFS를 돌려서 가장 멀리있는 노드들을 가져오면 트리의 지름을 가지는 2개의 노드(let, a, b)를 알 수 있다 BFS를 만들면서 이전에 방문한 노드 번호를 저장하고 a -> b (트리 지름) 경로를 지날 때 방문하는 노드들을 임의의 배열에 저장한.. 2020. 11. 6. [BOJ][14890] 경사로 문제 : www.acmicpc.net/problem/14890 구현 문제. 행 탐색시 왼쪽에서 오른쪽. 열 탐색시 위에서 아래로 탐색한다. 탐색 중 이전 배열 값을 before, 현재 탐색 중인 값을 now라 하자. let, i = 탐색중인 배열 인덱스 int now = (direction == ROW) ? arr[start][i] : arr[i][start]; int before = (direction == ROW) ? arr[start][i-1] : arr[i-1][start]; now, before 값만 알면 되기 때문에 구현시 탐색하려는 행, 열 값과 행, 열 탐색 방향만 알면 위와 같은 방법으로 알 수 있다. 같은 높이를 가진 길이 연속적으로 나오는 수를 cnt라 하자. [그림1]에서 왼쪽은 b.. 2020. 11. 6. [201104] GDG 온라인 모각코 스테이홈 티셔츠~ gdg에서 주최한 온라인 모각코 5번인가 참가하고 스테이홈 셔츠랑 스티커 받았다. 도착하고 사진찍은지는 꽤 오래 되었는데 이제서야 포스팅한다. 역시 취미 코딩이 최고야..!! 라고는 하지만 2 번 정도는 잔업했다. 나머지는 스프링캠프 영상보거나 알고리즘 풀거나 개인 개발. 모여서 하는게 아니었지만 같은 노래들으면서 같이 개발하는 사람들이 있다는 것만으로 동기 부여가 됐다. 코로나 시국 끝나고 모각코 하러 댕기고 싶다. 2020. 11. 4. [201103] 운전면허 - 학원 등록, 안전교육 "나 면허 딸거야..!" 라고 말만하던 세월이 지나고 드디어 운전면허학원을 등록했다. 고3 수험생들이 오기 전에 학원이 좀 더 한산할 때 따야지 라는 생각으로 등록을 서둘렀다. 내가 등록한 학원은 모란자동차운전전문학원. 평소에 차에 대한 관심이 없었기에 운전 상식이 많이 부족하다는걸 느끼고 있었고 그래서 학원 등록하면 준다는 문제집을 목적으로 공부보다 학원 등록을 먼저 해야겠다는 심정으로 등록하러 갔다. 등록하러가기 전날에 가격, 시간, 셔틀버스 등 정보를 묻기 위해 문의전화를 먼저 했다. 운전 면허 후기 글들을 많이 봐서 대충의 정보는 알고 있어서 문의 전화의 주된 목적은 학원에서 듣는 안전 교육 3시간이 언제하는지, 등록 후 바로 들을 수 있는지 였다. 안전교육은 50분 수업, 10분 휴식이었고 등록.. 2020. 11. 4. [BOJ][1346] 구슬 탈출 2 문제 : www.acmicpc.net/problem/13460 너비 우선 탐색(BFS)를 이용한다. 방문 여부는 빨간 공 (x, y) 파란 공 (x, y) 이용해서 4차원 배열을 만들어서 체크한다.(check 배열) 큐 안에는 (빨간 공(x, y), 파란 공(x, y), 기울인 횟수)를 저장한다. 벽 또는 탈출구가 나올 때까지 한 방향으로 공을 계속 움직인다. 파란 공이 빠져나오는 경우는 불가능한 경우이고 빨간 공만 나온 경우는 기울인 횟수를 출력하고 종료한다. 파란 공과 빨간 공이 겹치는 경우, 기울이기 전 위치를 비교해서 겹치지 않게 해준다. 만약, 아래 방향으로 움직이는 경우 기울이기 전 빨간 공이 파란 공보다 아래에 있었다면 파란 공의 위치를 1위로 옮긴다. 공들의 위치를 겹치지 않게 조정한 다음.. 2020. 11. 1. 이전 1 ··· 44 45 46 47 48 49 50 ··· 110 다음