[백준] 2563번: 색종이 - JAVA

2024. 9. 18. 02:52·알고리즘

[작성일: 2023. 09. 16]

 

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

 

 

풀이

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int[][] board = new int[100][100];  // 100*100의 도화지
        int sum = 0; // 검은 영역의 넓이

        for (int i = 0; i < num; i++) {
            int x = sc.nextInt();
            int y = sc.nextInt();
            for (int j = x; j < x + 10; j++) {
                for (int k = y; k < y + 10; k++) {
                    if (board[j][k] == 0) {
                        board[j][k] = 1;
                        sum++;
                    }
                }
            }
        }

        System.out.println(sum);
    }
}

 

이 문제를 어떻게 풀어야할지 감이 안 와서 Chat GPT의 도움을 조금 받았다.

색종이를 붙일 때마다 그 영역을 1로 채운다고 생각하면 쉽게 접근할 수 있다고 해서 도화지 100*100 크기의 배열을 만들었다.

색종이는 for문의 시작을 x와 j부터 한다면 떨어진 위치에서부터 1을 채울 수 있고, 색종이 크기가 10*10이기 때문에 +10을 해주었다.

board[j][k]가 0이라면 색종이가 겹쳐지지 않은 부분이므로 1로 변경하고 sum에 1을 더해준다.

for문이 끝나고 나면 sum은 1로 표시된 칸의 개수만큼 증가한다.

 

저작자표시 비영리 변경금지 (새창열림)
'알고리즘' 카테고리의 다른 글
  • [백준] 11005번: 진법 변환2 - JAVA
  • [백준] 2745번: 진법 변환 - JAVA
  • [백준] 2566번: 최댓값 - JAVA
  • [백준] 1361번: 그룹 단어 체커 - JAVA
뚜비
뚜비
1년차 백엔드&iOS 개발자의 감자 탈출 블로그 🥔🥔
  • 뚜비
    뚜비의 개발로그
    뚜비
  • 전체
    오늘
    어제
  • 글쓰기     관리
    • Devlog
      • Back-End
        • Java
        • Spring
        • JPA
        • HTTP
        • Security
        • Back-End
        • Front-End
      • 알고리즘
      • iOS
        • Swift
      • Database
      • Tips
        • Git & GitHub
        • A to Z
      • 프로젝트
      • 생각정리
  • 태그

    html
    Java
    DB
    김영한
    자바스크립트
    Swift
    성능최적화
    스프링
    spring
    다형성
    게시판만들기
    의존성주입
    JPA
    javascript
    HTTP
    Security
    데이터베이스
    MVC
    백준
    알고리즘
    sql
    프로그래머스
    Spring Security
    Database
    객체
    변수
    최주호
    jsp
    자바
    생성자
  • hELLO· Designed By정상우.v4.10.0
뚜비
[백준] 2563번: 색종이 - JAVA
상단으로

티스토리툴바