-
[백준 - 2897번] 몬스터 트럭 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 8. 14. 15:31
이번에는 BOJ의 2897번 문제 "몬스터 트럭" 을 풀어보도록 하자
해빈이가 갖고 있는 몬스터 트럭을 이용해서 주차를 하는데, 총 (R , C) 만큼의 공간에 (2 , 2)인 몬스터 트럭을 주차하고 싶어한다. 이때, (R , C)만큼의 공간에는 빌딩('#')도 있고, 주차된 차('X'), 빈 주차 공간('.') 3가지의 경우가 존재하고, 빌딩은 부수고 주차할 수 없지만, 주차된 차는 부수고 주차할 수 있다고 할 때, 몇대를 부수고 주차를 할 수 있는지 각 경우에 따라서 구해주면 되는 문제이다.
입력으로 R, C가 주어지고, 그다음 (R X C) 만큼 3가지의 경우 '#', 'X', '.' 가 주어진다. 출력으로, 총 다섯 줄에 0대를 부수고 주차할 수 있는 공간의 개수, 1대를 부수고 주차할 수 있는 공간의 개수, ... , 4대를 부수고 주차할 수 있는 공간의 개수를 출력 해주면 되는 문제이다.
성공한 코드는 아래와 같다
import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); char[][] map = new char[50][50]; StringTokenizer st = new StringTokenizer(br.readLine()); int R = Integer.parseInt(st.nextToken()); int C = Integer.parseInt(st.nextToken()); for(int i = 0; i < R; i++){ String input = br.readLine(); for(int j = 0; j < C; j++){ map[i][j] = input.charAt(j); } } int zero = 0, one = 0, two = 0, three = 0, four = 0; for(int i = 0; i < R - 1; i++){ for(int j = 0; j < C - 1; j++){ int cnt = 0; base: for(int k = i; k < i + 2; k++){ for(int l = j; l < j + 2; l++){ if(map[k][l] == '#') break base; if(map[k][l] == 'X') cnt++; if(k == i + 1 && l == j + 1){ if(cnt == 0) zero++; else if(cnt == 1) one++; else if(cnt == 2) two++; else if(cnt == 3) three++; else if(cnt == 4) four++; } } } } } bw.write(zero + "\n"); bw.write(one + "\n"); bw.write(two + "\n"); bw.write(three + "\n"); bw.write(four + "\n"); bw.flush(); br.close(); bw.close(); } }
문제 : https://www.acmicpc.net/problem/2897
'Algorithm > BOJ(Baekjoon Online Judge)' 카테고리의 다른 글
[백준 - 10026번] 적록색약 - Java //Wello Horld// (0) 2019.12.09 [백준 - 16765번] Teamwork - Java //Wello Horld// (0) 2019.12.09 [백준 - 3059번] 등장하지 않는 문자의 합 - Java //Wello Horld// (0) 2019.08.14 [백준 - 5337번] 웰컴 - Java //Wello Horld// (0) 2019.08.14 [백준 - 1871번] 좋은 자동차 번호판 - Java //Wello Horld// (0) 2019.08.14