일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개념
- leetcode 69
- 백엔드
- java
- glod5
- siver3
- gold5
- mysql
- HTML
- Gold4
- 배포
- LCS
- jpa
- 오류
- AWS
- leetcode
- PYTHON
- 프로그래머스
- 9252
- LEVEL1
- 구현
- 백준
- LEVEL2
- glod4
- error
- Thymeleaf
- spring
- CSS
- gold2
- Kakao
- Today
- Total
목록java (45)
이 험난한 세상에서어어~
문제 설명 NxN 크기의 종이가 있고 각 칸에는 -1, 0, 1로 표시가 되어 있다. 같은 숫자가 표시되어 있는 영역을 하나의 종이로 보는데, 만일 숫자가 모두 같지 않다면 해당 종이를 9등분 한 다음 9등분 한 영역을 다시 확인한다. 결과적으로 -1로만 채워진 종이의 수, 0으로만 채워진 종이의 수, 1로만 채워진 종이의 수를 구하여라. https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 문제 풀이 분할 정복 문제로 나는 재귀를 이용하..
문제 설명 각 지역의 높이가 주어지고 비가 내렸을 때 잠기지 않은 지역의 최대값을 구하는 문제이다. 부르트 포스로 전체 물의 양을 확인해서 구하고 물에 잠기지 않는 지역은 BFS로 풀면 된다. 다만, 전체 지역이 물에 잠기지 않을 수 있으니(지역의 모든 높이가 일정한 경우) 이 경우만 주의하면 된다. 문제 풀이 1. raining() 메소드로 잠긴 지역을 체크한다. 이때 비의 양의 범위는 주어진 높이의 최솟값부터 최댓값 사이이다. 나는 0부터 돌리지는 않았는데, 그 이유는 최솟값보다 작으면 어차피 잠기는 곳이 없기 때문이다. 2. 잠긴 곳을 표시했으면 BFS를 돌려서 잠기지 않은 지역을 세주면 된다. 지금까지 풀어왔던 BFS 문제와 동일하게 해주면 된다. 3. 그리고 잠기지 않은 지역의 수가 현재의 an..
문제 설명 일단 들어가기 전에 먼저 알아야 할 것은 해당 문제에는 스페셜 저지가 있다는 의미이다. 꼭 예제에 있는 출력만이 답이 아니라는 의미로 조건만 맞으면 다른 출력도 답으로 인정이 된다. 또한 울타리의 최소 갯수를 구하는 문제가 아니다. 위의 두 조건을 모르고 풀었을 때는 왜 이 문제가 실버 3밖에 되지 않는지 이해할 수 없었지만, 조건들을 알고 나니 굉장히... 사실 어느 기교도 없이 풀 수 있는 문제였다. 문제 풀이 그냥 늑대의 사방에 울타리를 씌우면 끝이 난다. 그냥... 이게 문제 풀이의 전부이다. 1. 지도 정보를 받을 때 늑대의 위치를 큐에 넣는다. 2. BFS에서 하듯이 큐에서 값을 하나씩 꺼내서 해당 위치의 사방에 접근한다. 3. 만일 접근한 곳에 .이 있으면 D를 표시해 울타리를 세..
문제 설명 NxN 격차에 바구니가 들어 있고 각 바구니에는 물을 채울 수 있다. 이때 주어진 명령을 순서대로 이동하면서 최종적으로 저장된 물의 양을 구하는 문제이다. 일단 비바라기를 시전하면 첫 (N,1), (N,2), (N-1,1), (N-1,2)에 비구름이 생긴다. 그리고 구름이 d 방향으로 s 거리만큼 이동한다. 이때 d 방향은 상하좌우 뿐만 아니라 각 대각선으로 이동할 수 있고 지도는 서로 이어져 있다. 지도가 이어져 있다는 의미는 가장 윗 칸에서 한 칸 더 올라가면 제일 마지막 칸으로 가고 또 마지막 칸에서 한 칸 내려가면 제일 윗 칸이 나온다는 의미이다. 이는 오른쪽과 왼쪽도 동일하다. 이동한 후 진행되는 순서는 다음과 같다. 1. 이동한 위치에 물이 1씩 증가한다. 그리고 구름이 사라진다. ..
문제 설명 테트로미노 5개를 주어진 2차원 배열에 두었을 때 각 칸의 합의 최댓값을 구하는 문제이다. 이때 테트로미노는 회전하거나 대칭시켜도 된다. https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 문제 풀이 문제를 처음 봤을 때는 테트로미노로 만들 수 있는 모든 문양을 2차원 배열로 만든 다음에 주어진 지도에 대입시키려고 했다. 그러나 파란색과 노란색은 경우의 수가 적지만 주황색부터는 경우의 수가 너무 많아져서 분명 다른 풀이가 있을 거라는 생..
문제 설명 크기가 3x3인 배열이 있다. 이때 행의 개수가 열의 개수보다 크거나 같으면 행을 기준으로 정렬하고 반대이면 열을 기준으로 정렬을 한다. 이때 정렬의 기준은 각 수가 얼마나 많이 등장하는지, 만일 같다면 각 수의 크기이다. 예를 들어서 [3, 1, 1]이 있다면 1은 총 2번 나왔고 3은 총 1번 나왔으니 (1, 2), (3, 1) 이렇게 정렬이 되는 것이다. 이때 정렬은 수를 먼저 넣어준다. 100초 안쪽으로 위의 정렬을 해줄 건데 arr[r][c]에서 k가 나올 때 얼마나 많은 시간이 걸리는지 구하는 문제이다. 만일 100초를 넘어갔는데 결과를 내지 못한다면 -1을 출력한다. 단, 배열의 수가 0이라면 정렬 대상이 아니다. 사실 이 문제는 힌트를 보면 빠르게 이해할 수 있다. 힌트에서 나왔..