새소식

알고리즘 풀이/백준

백준 브론즈1 색종이 - JAVA

  • -

1. 문제 

2. 접근법

  • 다 더해서 겹치는 범위를 빼줘도 좋지만
  • 그렇게 하면 겹치는 범위를 찾기가 어려울 것 같다;;
  • 그래서 흰 도화지를 boolean 2차원 배열로 만들고, 검은색 색종이 범위를 true로 표현하기로 함
  • 중복을 줄이기 위해 true로 바꿔주면서 동시에 넓이도 같이 합해줌 

 

3. 코드

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

public class Boj_2563_색종이 {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int N = Integer.parseInt(br.readLine());
		boolean [][] paper = new boolean[101][101];
		int answer = 0;
		for(int i = 0; i < N; i++) {
			StringTokenizer st = new StringTokenizer(br.readLine());
			int r = Integer.parseInt(st.nextToken());
			int c = Integer.parseInt(st.nextToken());
			
			for(int nr = 0; nr < 10; nr++) {
				for(int nc = 0; nc < 10; nc++) {
					if(!paper[r+nr][c+nc]) {
						paper[r+nr][c+nc] = true;
						answer++;
					}
				}
			}
		}
		System.out.println(answer);
		
		

	}

}

'알고리즘 풀이 > 백준' 카테고리의 다른 글

백준 2667 - 단지번호 붙이기  (0) 2022.08.16
백준 1018 - 체스판 다시 칠하기  (0) 2022.08.15
백준 7568 - 덩치  (0) 2022.08.14
백준 2231 - 분해합  (0) 2022.08.14
백준 3040 - 백설공주와 일곱 난쟁이  (0) 2022.08.14
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.