4회차 - 알고리즘 기록 : 색종이

2022. 6. 13. 19:29·TEAM STUDY/알고리즘 코딩 테스트 스터디
목차
  1. 📌색종이
728x90
반응형

📌색종이

   가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다.

이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다.

이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역 넓이를 구하는 프로그램을 작성하시오.

 예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 그림과 같은 모양으로 붙였다면 검은색 영역의 넓이는 260이 된다.

<도화지 위에 놓인 세 색종이>

 

입력 형식

첫 줄에는 테스트케이스의 수 T가 주어진다.

각 테스트케이스의 첫 줄에는 색종이의 수 N이 1이상 100이하의 자연수로 공백없이 주어진다.

이후 N줄에 걸쳐서 각 색종이의 정보가 공백으로 구분된 90보다 작거나 같은 두 자연수로 주어진다.

  • 첫 번째 숫자는 색종이의 왼쪽 변과 도화지의 왼쪽 벽 사이의 거리이다
  • 두 번째 숫자는 색종이의 아랫쪽 변과 도화지의 아랫쪽 변 사이의 거리이다.
  • 모든 색종이는 도화지의 영역을 벗어나지 않는다.

 

출력 형식

각 테스트케이스에 대하여 색종이가 차지하는 넓이를 한 줄에 공백없는 정수로 출력한다. 

 

예시

- 입력

2
3
37
157
52
4
37
52
157
1314

 

- 출력

260
336

 

코드 풀이

/**
 * 색종이들이 덮고 있는 영역의 총 넓이를 계산하는 함수
 *
 * @param papers
 * @param n
 * @return
 */
public static int getCoveredArea(Paper[] papers, int n)
{
    int answer = 0; //색종이들이 덮은 영역의 총 넓이

    int [][] border = new int[101][101];

    for( Paper p : papers ){
        for( int row = p.bottomRow; row <= p.topRow; row ++){
            for( int col = p.leftColumn; col <= p.rightColumn; col ++){
                border[row][col] += 1;
            }
        }
    }

    for( int row = 0; row <= 100; row ++){
        for( int col = 0; col <= 100; col ++){
            if(border[row][col] >= 1){
                answer++;
            }
        }
    }

    return answer;
}
728x90
반응형
저작자표시 (새창열림)

'TEAM STUDY > 알고리즘 코딩 테스트 스터디' 카테고리의 다른 글

5회차 - 알고리즘 기록 : 팬미팅  (0) 2022.06.13
5회차 - 알고리즘 기록 : 과유불금  (0) 2022.06.13
4회차 - 알고리즘 기록 : 피보나치 나머지  (0) 2022.06.13
4회차 - 알고리즘 기록 : 응모  (0) 2022.06.13
4회차 - 알고리즘 기록 : 페인트  (0) 2022.06.13
  1. 📌색종이
'TEAM STUDY/알고리즘 코딩 테스트 스터디' 카테고리의 다른 글
  • 5회차 - 알고리즘 기록 : 팬미팅
  • 5회차 - 알고리즘 기록 : 과유불금
  • 4회차 - 알고리즘 기록 : 피보나치 나머지
  • 4회차 - 알고리즘 기록 : 응모
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (932)
      • 개발중 (634)
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (87)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18)
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (17)
        • 기록 (1)
        • 캐글 스터디 (3)
        • R (12)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    네트워크 관리사 2급 실기
    스프링
    리눅스 마스터 1급
    파이썬
    네트워크 관리사 요약
    Git 저장소
    REST API
    파이썬 알고리즘
    리눅스 1급 요약
    springboot
    리눅스 마스터 1급 정리
    VUE
    알고리즘
    네트워크 관리사 실기
    네트워크 관리사 2급
    git
    쿠버네티스
    쿠버네티스 스터디
    네트워크 관리사
    리눅스 마스터 1급 요약
    리눅스 마스터
    redis
    리눅스 마스터 요약
    네트워크 관리사 자격증
    jpa
    네트워크 관리사 학점
    docker
    BackendDevelopment
    Spring
    java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
4회차 - 알고리즘 기록 : 색종이

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.