문제 - (https://www.acmicpc.net/problem/16236) 아기상어가 상좌우하로 이동하면서 자신이 먹을 수 있는 물고기를 먹다가 더이상 먹을 수 있는 물고기가 없을 때 걸린 시간을 리턴하는 문제다. 아기상어가 물고기를 먹기 위한 조건이 있는데, 1. 더 이상 먹을 수 있는 물고기가 공간에 없다면 아기 상어는 엄마 상어에게 도움을 요청한다. == 종료조건 2. 먹을 수 있는 물고기가 1마리라면, 그 물고기를 먹으러 간다. 3. 먹을 수 있는 물고기가 1마리보다 많다면, 거리가 가장 가까운 물고기를 먹으러 간다. 거리는 아기 상어가 있는 칸에서 물고기가 있는 칸으로 이동할 때, 지나야하는 칸의 개수의 최솟값이다. 거리가 가까운 물고기가 많다면, 가장 위에 있는 물고기, 그러한 물고기가 ..
문제 - (주소) 전형적인 시뮬레이션 문제였다. 구현하라는대로 구현하면 됐다. 단 구현시 알아두면 좋은 것들이 있는데 그것을 소개하겠다. 1. 방향 조회하기 static int[] dx = {-1, 0, 1, 0}; static int[] dy = {0, 1, 0, -1}; 위, 오른, 아래, 위 방향으로 이동하기 위해 초기화한 배열이다. 어떻게 사용하냐면 map이라는 이차원 배열이 있다고 할 때, for (int d = 0; d 위 -> 왼 -> 아래 방향으로 흐르고 아래쪽의 공기청정기 바람은 오른 -> 아래 -> 왼 -> 위 방향으로 흐른다. 위,오른,아래,왼이 차례로 dx, dy의 0,1,2,3 인덱스임을 이용해서 배열을 선언해서 순회하도록 구현했다. static int[] upSideDir = {..
문제 - (https://www.acmicpc.net/problem/15683) 전형적인 완전탐색 문제였다. 나는 모든 경우를 시뮬레이션 돌리는 방식으로 풀었다. 처음엔 재귀마다 map을 순회하면서 0과 6이 아닌 숫자를 찾으면 그 숫자를 가지고 시뮬레이션 하려고 했다. 하지만!! 그럼 반복문을 너무 자주 돌아야 해서 비효율적이라 생각했다. 그래서 먼저 cctv의 위치를 파악했다. => input값을 map에 넣을 때, 0과 6이 아닌 숫자를 cctvPos 리스트에 추가함 그렇다면 기저는 무엇일까? dfs에 인자로 k를 주어 재귀를 들어갈때마다 1씩 더해준다 그리고 k값으로 cctvPos를 조회하도록 하면 모든 cctv를 경우의 수에 맞게 조회할 수 있다 따라서, k가 cctv의 갯수와 같아질 때 더이상..
문제 - (https://www.acmicpc.net/problem/14889) 전형적인 조합문제였다. 서로다른 N개 중에 순서에 상관없이 C개를 뽑아낸 뒤 뽑은 것들로 능력치의 합을 구하고 뽑지 않은 나머지로 능력치의 합을 구한 뒤 뺀다. 뺀 값의 절댓값들 중 취소값이 정답! 이 문제를 제대로 풀어보려면 유튜브나 기술 블로그에서 조합을 구현하는 방법에 대해 공부해보면 좋을 듯 싶다 📌주의할 점 예를들어, 4명 중 2명(i, j)을 뽑는다면 능력치배열 S에서 능력치를 한번에 구할 수 있다. S[i][j] + S[i][j] = (i, j)가 팀일 때 능력치 단, 간과하지 말아야할 부분이 있는데 만약 6명중 3명을 뽑게되는 경우다 (왜냐면 문제에서 n명의 참가자 중 n/2명으로 두 팀 나눈다고 했으므로) 예..
- Total
- Today
- Yesterday
- 코딩테스트 연습
- 아기상어
- 드래곤 커브
- 우선순위큐
- 배열순회
- Greedy
- header
- 그리디
- 재귀
- 브라우저 요청
- 완전탐색
- 코딩테스트
- withCredentials
- 톱니바퀴
- 백준
- 자바
- java
- 구명보트
- 사다리 조작
- 구현
- 16234
- 큰 수 만들기
- 인구이동
- 시뮬레이션
- Access-Control-Allow-Origin
- dfs
- BOJ
- 14891
- 코테
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |