본문 바로가기
Algorithm/백준

[Java] 백준 2563번 - 색종이 (실버5)

by 애기 개발자 2025. 2. 27.
반응형
혼자 힘으로 풀었는가? O

알고리즘 분류
 - 구현

 

https://www.acmicpc.net/problem/2563

 

 


 

처음엔 입력받은 숫자들의 합을 구하고 겹치는 부분을 빼려 했다.

 

하지만 문제를 풀수록 얼마나 색종이가 겹치질 지 몰라 푸는데 난항을 겪고 있었다. 이거 실버 5인데...

 

그러다 그냥 문뜩 최대 100x100 배열이니, 색칠된 부분을 배열로 체크해도 괜찮겠다 싶었다.

 

import java.util.*;
import java.io.*;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		int n = Integer.parseInt(st.nextToken());
		
		int [][] paper = new int[100][100];
		
		for(int i=0; i<n; i++) {
			st = new StringTokenizer(br.readLine());
			int x= Integer.parseInt(st.nextToken());
			int y = Integer.parseInt(st.nextToken());
			
			for(int a=x; a<x+10; a++) {
				for(int b=y; b<y+10; b++) {
					paper[a][b]++;
				}
			}
		}
		
		int result = 0;
		for(int i=0; i<100; i++) {
			for(int j=0; j<100; j++) {
				if(paper[i][j] > 0) {
					result++;
				}
			}
		}
		System.out.println(result);
	}
}

 

너무 어렵게 생각했다.

 

문제푸는 감을 잃었다.

반응형

댓글