본문 바로가기
PS/Baekjoon

[Baekjoon] 2563 - 색종이

by 서현 SEOHYEON 2023. 2. 24.

📝 문제

 

 

 

🔑 풀이 과정

색종이의 모양은 가로 10, 세로 10 인 정사각형으로 고정돼있다.

 

2차원 배열을 사용하여 풀이.

색종이가 붙지 않은 곳은 false

붙은 곳은 true로 값을 주어, 마지막에 true값의 개수를 세면 된다.

 

첫 번째 자연수 = 색종이의 왼쪽 변과 도화지의 왼쪽 변 사이의 거리

두 번째 자연수 = 색종이의 아래쪽 변과 도화지의 아래쪽 변 사이의 거리

 

+ 색종이가 도화지 밖으로 나가는 경우는 없으니 색종이가 보드 범위를 넘어갈 때는 생각하지 않아도 된다.

 

 

 

 

🔓 답안

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

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st;

        boolean[][] board = new boolean[100][100];

        int n = Integer.parseInt(br.readLine());
        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 j = x; j < x+10; j++){
                for(int k = y; k < y+10; k++){
                    board[j][k] = true;
                }
            }
        }

        int count = 0;
        for(int i = 0; i < 100; i++){
            for(int j = 0; j < 100; j++){
                if(board[i][j] == true)
                    count++;
            }
        }

        bw.write(count + "\n");
        bw.flush();
        bw.close();
    }

}

 

 

 

🖤 알고리즘 분류

- 구현

'PS > Baekjoon' 카테고리의 다른 글

[Baekjoon] 2442 - 별 찍기 - 5  (0) 2023.02.26
[Baekjoon] 10798 - 세로읽기  (0) 2023.02.25
[Baekjoon] 10813 - 공 바꾸기  (0) 2023.02.23
[Baekjoon] 10810 - 공 넣기  (0) 2023.02.22
[Baekjoon] 1929 - 소수 구하기  (0) 2023.02.21

댓글