www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 풀이 1) CCTV의 갯수는 8개이므로 순열을 돌려서 나올 수 있는 모든 경우의 수를 계산한다. 2) 캠의 종류와 방향에 따라서 감시영역을 채운다. 3) 최솟값을 구함 4) 최솟값에 벽의 갯수를 빼서 출력 주의사항 1) 노가다 package com.baekJoon; import java.io.BufferedReader; import java.io.IOException; import java.io.In..
www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 풀이 1) dfs 를 돌려서 ㅗ 모양을 제외한 테트로미노의 모든 경우를 구할수 있다. 2) ㅗ 모양은 따로 구한다. 3) 1번과 2번중 최댓값을 출력한다. 주의 사항 1) ㅗ 모양 테트로미노를 검사할 때 짤리는 경우를 잘 생각해야 한다. package com.baekJoon; import java.io.BufferedReader; import java.io.IOException; import java.io.In..
www.acmicpc.net/problem/2999 2999번: 비밀 이메일 정인이는 원래 "bombonisuuladici"를 보내려고 했다. 이 메시지는 16글자이므로, 정인이는 1*16, 2*8, 4*4 행렬을 선택할 수 있다. R이 가장 큰 것은 4*4이므로, 4*4를 선택한다. 정인이가 만든 행렬은 다음과 www.acmicpc.net 풀이 1) 문자열의 길이(N)의 제곱근 (sqrt) 을 구함 2) 1~ sqrt 까지 포문 돌리면서 N%i 가 0일 경우 R 과 C 를 갱신 3) 2의 결과 R, C 로 배열을 만듬 4) 배열을 읽음 주의사항 1) 없다 package com.baekJoon; import java.io.BufferedReader; import java.io.IOException; im..
www.acmicpc.net/problem/18442 18442번: 우체국 1 원형으로 큰 길(순환로)이 뻗어 있고, 길 옆으로 V개의 마을이 자리잡고 있다. 큰 길의 둘레 길이는 정수 L이다. 이 문제에서 큰 길은 0 이상 L-1 이하의 정수가 늘어져 있는 원이고, 각 마을의 위치 www.acmicpc.net 풀이 1) 조합으로 배열을 뽑는다 2) 각마을에서 뽑은배열중 가장 짧은 거리를 구해 더한다 2-1) 가장 짧은 거리는 오른쪽으로 갈때와 왼쪽으로 갈때의 거리중 최소이다. 3) 최솟값 갱신 + 결과 배열 저장 4) 최솟값과 결과배열 출력 주의사항 1) 가장 짧은 거리를 구할때 신경써야함 package com.baekJoon; import java.io.BufferedReader; import jav..
www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 1) 이중포문을 돌면서 N^2 이차원 배열에서 라인을 한줄씩 받아온다. 2) boolean 배열을 새로만든다 3) 라인을 탐색한다 3-1) 만약 단차가 생긴다? -> 일단 단차가 2 이상이면 바로 continue 3-2) 그렇지 않다면 경사로를 설치할것이다. 3-3) 내려가는 단차일 경우 : i+1 부터 i+1+L 까지 검사해서 범위 밖이거나, 하나라도 map[i+1] 과 다르다면 continue. 그렇지 않다면 boolean[..
www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도 www.acmicpc.net 풀이 1) Dice라는 클래스를 만들거임. 멤버변수는 (행, 렬, 앞, 뒤, 상, 하, 좌, 우) 2) 굴리는 경우는 4가지 밖에 없다. (위, 아래, 오른쪽, 왼쪽) 메소드를 생성한다. 3) 방향을 Queue에 담는다. 4) Queue가 빌 때까지 빼내면서 방향에 따라 다음 좌표를 구한다 (nr, nc) 5) 범위체크(isIn[nr][nc])를..
www.acmicpc.net/problem/15662 15662번: 톱니바퀴 (2) 총 8개의 톱니를 가지고 있는 톱니바퀴 T개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 풀이 1) 톱니바퀴를 2번 저장할거임. 2차원 배열에 하나, Deque에 하나. 2) Queue 에 입력된 (톱니바퀴 번호, 방향)정보를 담음 3) Queue가 빌때까지 꺼내면서 돌아가는지 체크함 3-1) 먼저 해당 번호를 true하고 왼쪽, 오른쪽 검사를 함 4) 배열 탐색하면서 true인 애들만 돌릴거임 4-1) |방향 - 인덱스| 가 짝수면 동일 4-2) |방향 - 인덱스| 가 홀수면 반대 4-..
www.acmicpc.net/problem/2933 2933번: 미네랄 창영과 상근은 한 동굴을 놓고 소유권을 주장하고 있다. 두 사람은 막대기를 서로에게 던지는 방법을 이용해 누구의 소유인지를 결정하기로 했다. 싸움은 동굴에서 벌어진다. 동굴에는 미네랄 www.acmicpc.net 풀이1 (메모리 초과) 1) 큐에 막대기 정보를 담음 2) 큐가 빌 때까지 poll() 하면서 맵을 부숨 3) bfs를 돌려서 붙어있는 덩어리를 list에 담음 4) list에서 열(c)중에 가장 행(r)이 높은 애들만 따로 list2에 담음 5) list2중에서 바닥 or 미네랄과의 최소거리 min을 구함 6) list를 min만큼 아래로 내림 7) 반복 주의사항 1) 방문체크하는 배열의 초기화 위치 package com...
- Total
- Today
- Yesterday
- 자바
- 코딩새내기
- 현꾸라지
- S2
- 객체지향
- 리액트 네이티브
- react
- 시뮬레이션
- Spring
- 구현
- 다익스트라
- 백준
- 리액트
- react native
- laugh4mile
- g4
- BFS
- 백트래킹
- Spring Boot
- java
- S3
- DFS
- 알고리즘
- PriorityQueue
- 그리디
- 우선순위큐
- SWEA
- map
- 문자열
- G5
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |