[백준/1531] 투명 - JAVA

이지환·2024년 1월 18일

알고리즘(백준) 💻

목록 보기
32/80
post-thumbnail

📌 문제

알고리즘 분류 : 구현
난이도 : 실버5
출처 : 백준 - 투명

🦧 문제 풀이 접근

100 X 100 크기의 배열을 선언하고 2중 for문을 이용해 범위에 해당하는 부분에 +1 해준다.
모든 칸에 값을 확인해 M보다 큰 값의 갯수를 구한다.

💻 code

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.StringTokenizer;

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 M = Integer.parseInt(st.nextToken());
        int arr[][] = new int[101][101];
        for(int i=0;i<N;i++) {
            st = new StringTokenizer(br.readLine()," ");
            int x1 = Integer.parseInt(st.nextToken());
            int y1 = Integer.parseInt(st.nextToken());
            int x2 = Integer.parseInt(st.nextToken());
            int y2 = Integer.parseInt(st.nextToken());
            for(int j=x1;j<=x2;j++) {
                for(int k=y1;k<=y2;k++) {
                    arr[j][k] +=1;
                }
            }
        }
        int cnt=0;
        for(int i=1;i<=100;i++) {
            for(int j=1;j<=100;j++) {
                if(arr[i][j]>M) cnt++;
            }
        }
        System.out.println(cnt);
    }
}

🥇 결과

🎓 느낀점

3중 for문을 사용해야 해서 잘못 푼줄 알았지만 배열의 크기가 100X100으로 한정되어 있어서 시간이 오래걸리지 않았다.

profile
takeitEasy

0개의 댓글