티스토리 뷰

www.acmicpc.net/problem/1652

 

1652번: 누울 자리를 찾아라

첫째 줄에 방의 크기 N이 주어진다. N은 1이상 100이하의 정수이다. 그 다음 N줄에 걸쳐 N개의 문자가 들어오는데 '.'은 아무것도 없는 곳을 의미하고, 'X'는 짐이 있는 곳을 의미한다.

www.acmicpc.net

 

풀이

 

1) 처음 map을 입력할때 가로방향은 split으로 계산

2) 입력한 map을 세로로 StringBuffer에 담아 String으로 변환 후 split으로 계산

3) 위의 두 계산결과를 따로 출력

 

주의사항

 

1) 풀다가 졸지 말자

 

package com.baekJoon;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.util.StringTokenizer;

public class BJ_B1_1652_누울자리를찾아라 {
	static BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
	static StringTokenizer tokens;
	static int N;
	static char map[][];
	public static void main(String[] args) throws NumberFormatException, IOException {
		input = new BufferedReader(new StringReader(src));
		N = Integer.parseInt(input.readLine());
		map = new char[N][N];
		
		for(int r=0; r<N; r++) {
			String line = input.readLine();
			for(int c=0; c<N; c++) {
				map[r][c] = line.charAt(c);
			}	
		}
		int answer1 = 0;
		int answer2 = 0;
		for(int r=0; r<N; r++) {
			StringBuffer sb = new StringBuffer();
			for(int c=0; c<N; c++) {
				sb.append(map[r][c]);
			}
			String line = sb.toString();
			String lines[] = line.split("X");
			for(String l : lines) {
				if(l.length()>=2) {
					answer1++;
				}
			}
		}		
		for(int c=0; c<N; c++) {
			StringBuffer sb = new StringBuffer();
			for(int r=0; r<N; r++) {
				sb.append(map[r][c]);
			}
			String line = sb.toString();
			String lines[] = line.split("X");
			for(String l : lines) {
				if(l.length()>=2) {
					answer2++;
				}
			}
		}		
		System.out.println(answer1+" "+answer2);
	}

	static String src =
			"5\r\n" + 
			"....X\r\n" + 
			"..XX.\r\n" + 
			".....\r\n" + 
			".XX..\r\n" + 
			"X....";
}

 

 

후기

 

브론즈는 보자마자 풀리는 맛이 있어야지.. 브론즈라고 찍혀있고 실버보다 어려운 문제가 허다하다. 자신감을 키우고 싶거나 머리를 식힐때는 역시 브론즈 문제가 짱이다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함