최's 먹공로그
https://www.acmicpc.net/problem/9441 9441번: Cash Cow The input will consist of multiple games, each played with a new board. For each game, the input begins with a number T that denotes the number of turns that the player will be making, with 1 ≤ T ≤ 20. Following that will be an initial board configurat www.acmicpc.net 1. B 파란색, R 빨간색, Y 노란색 2. 클러스터 : 색상이 일치하는 수평 수직 이웃 3. 표시된 그리드 셀이 하나 또는 두 개의 ..
https://www.acmicpc.net/problem/18809 18809번: Gaaaaaaaaaarden 첫째 줄에 정원의 행의 개수와 열의 개수를 나타내는 N(2 ≤ N ≤ 50)과 M(2 ≤ M ≤ 50), 그리고 초록색 배양액의 개수 G(1 ≤ G ≤ 5)와 빨간색 배양액의 개수 R(1 ≤ R ≤ 5)이 한 칸의 빈칸을 사이에 두 www.acmicpc.net 1. 배양액은 매 초마다 이전에 배양액이 도달한 적이 없는 인접한 땅으로 퍼져간다 2. 초록색 배양액과 빨간색 배양액이 동일한 시간에 도달한 땅에서는 꽃 -> 꽃이 핀 곳에서는 배양액이 퍼지지 않는다 3. 배양액을 남김없이 사용해야 한다 4. 꽃의 최대 개수를 구하자 5. 입력 N, M, G, R 행, 열, 초록색 배양액, 빨간색 배양액 ..
https://www.acmicpc.net/problem/5052 5052번: 전화번호 목록 첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가 www.acmicpc.net 1. 전화번호 목록이 일관성을 유지하려면, 한 번호가 다른 번호의 접두어인 경우가 없어야 한다. ex) 911, 97625999, 91125426 인 경우 2. 전화번호의 길이는 최대 10자리, 같은 경우는 없다. 3. 각 테스트 케이스에 대해서 일관성이 있으면 YES, 없으면 NO 1. Trie 자료구조를 사용한다. 911, 91125426, 97625999을 Trie에 ..
https://www.acmicpc.net/problem/25240 25240번: 가희와 파일 탐색기 2 Q개의 질문에 대해, 연산이 성공하면 1을 실패하면 0을 출력해 주세요. 각 질문에 대한 답은 한 줄에 하나씩 출력해 주세요. www.acmicpc.net (1) 3개의 숫자 중 첫번 째 숫자 : 파일을 소유하고 있는 유저가 어떤 권한을 가지고 있는지를 나타냄 두번 째 숫자 : 파일을 소유하고 있는 그룹이 어떤 권한을 가지고 있는지 세번 째 숫자 : 파일을 소유하고 있는 그룹에 속하지 않고, 파일을 소유하고 있는 유저가 아닌 경우 어떤 권한을 가지고 있는지 (2) 입력 -. 유저에 대한 정보 U, 파일에 대한 정보 F -. U개의 유저 정보 USER_NAME USER_NAME, USER_GROUPS ..
https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net (1) 총 N 개의 보석 각 보석에는 무게 M, 가격 V를 가지고 있다. (2) 가방은 K개 가방에 담을 수 있는 최대 무게는 C, 가방에는 한 개의 보석만 넣을 수 있다(가방 무게랑 같거나 작은 보석) (3) 상덕이가 훔칠 수 있는 보석의 최대 가격을 구하시오 보석의 가격이 큰 순서로 정렬, 가방의 무게가 가벼운 순서로 정렬 보석을 한..
1. d1, d2, x, y로 지정 가능한 모든 경우를 본다. (일단 브루트포스) 2. 선거구를 나눈다. (1) 경계선에 5 표시 (2) 경계선이 아닌 영역부터 bfs 돌면서 5 경계선 외부를 따로 표시 (3) 표시된 영역 제외하고 나머진 다 5 (4) 나머지 1~4 선거구는 규칙 따라서 표시 3. 최소값 을 구해준다 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class BOJ17779_게리멘더링2 { static int[][] map, visited; static ..
1. 현재 위치 청소 -> visited = true 2. 현재 위치에서 바로 왼쪽 청소가능? - 방향 바꾸기 , 한 칸 전진 후 다시 (1)번 진행 3. 현재 위치에서 바로 왼쪽 청소불가능? - 방향만 바꾸기 후 다시 (2)번 진행 4. 4 방향 모두 확인 했을 때 청소 불가능? - 그 때의 방향에서 한 칸 후진 후 다시 (2)번 진행 5. 후진도 불가능? - 종료 6. visited에 있는 true의 개수가 로봇 청소기가 청소한 공간임 first() : 현재 위치를 청소하는 함수 second() : (1) 현재방향과 현재위치에서 4 방향 모두 청소가 가능한지 검사 (2) 현재방향과 현재위치를 기준으로 바로 왼쪽이 청소가 가능하면 방향과 위치 갱신 다시 first()로 (3) 바로 왼쪽이 청소가 불가능..
※ 음수좌표의 경우를 생각 못함 1. 입력받은 좌표를 더해서 하나의 상수로 생각 2. 상근위치 + 맥주 최대거리 계산 >= 페스티벌 위치 이면 happy 3. 상근위치 + 맥주 최대거리 계산 >= 편의점 중 가장 멀리 갈 수 있는 편의점 이면 상근위치를 해당 편의점 위치로 갱신 4. 갈 수 없는 경우는 현재위치에서 페스티벌 장소로 갈 수 없고 편의점으로도 갈 곳이 없을 때 sad import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Collections; import java.util.StringTokenizer; pu..