[백준|파이썬] 2563: 색종이 (실버5)

2023. 4. 19. 22:52·Problem Solving/백준
반응형
문제

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

 

2563번: 색종이

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

www.acmicpc.net

 

 

🐍파이썬
더보기

❌ 실패한 코드

import sys
paper = int(sys.stdin.readline())
dic = {}
for i in range(paper):
    a, b = map(int, sys.stdin.readline().split())
    dic[i] = [(a, a+10), (b, b+10)]
sum = 0
for i in range(paper):
    for j in range(i+1, paper):
        #겹치는 부분 찾기(x축)
        x = min(dic[i][0][1],dic[j][0][1]) - max(dic[i][0][0],dic[j][0][0])
        if x > 0:
            #겹치는 부분 찾기(y축)
            y = min(dic[i][1][1],dic[j][1][1]) - max(dic[i][1][0],dic[j][1][0])
            if y > 0:
                sum += x*y
print(paper*100 - sum)

겹치는 부분의 x, y길이를 이용해 넓이를 구한 뒤 전체 넓이에서 빼주려고 시도했다.

주어진 테스트케이스는 통과했는데 히든 테스트케이스를 통과하지는 못했다.

import sys
paper = int(sys.stdin.readline())
arr = [[0]*101 for _ in range(101)]
cnt = 0
for i in range(paper):
    a, b = map(int, sys.stdin.readline().split())
    for i in range(b, b+10):
        for j in range(a, a+10):
            arr[i][j] = 1
for i in range(101):
    cnt += arr[i].count(1)
print(cnt)

가로 세로 길이가 100인 도화지를 0으로 채운 이차원배열로 표현했다.

가로세로 길이가 10인 검은색 종이가 차지하는 부분을 1로 채웠다.

이러한 방법을 사용하면 이미 1인 부분은 또다시 카운팅 되지 않으므로 최종적으로 배열에 몇 개의 1이 있는지 세어주기만 하면 된다.

반응형

'Problem Solving > 백준' 카테고리의 다른 글

[백준|파이썬] 21966: (중략) (실버5)  (0) 2023.04.27
[백준|파이썬] 25757: 임스와 함께하는 미니게임 (실버5)  (0) 2023.04.23
[백준|파이썬] 2891: 카약과 강풍 (실버5)  (0) 2023.04.21
[백준|파이썬] 2775: 부녀회장이 될테야 (브론즈1)  (0) 2023.04.17
[백준|파이썬] 5766: 할아버지는 유명해! (실버4)  (0) 2023.04.14
[백준|파이썬] 1388: 바닥 장식 (실버4)  (0) 2023.04.13
'Problem Solving/백준' 카테고리의 다른 글
  • [백준|파이썬] 25757: 임스와 함께하는 미니게임 (실버5)
  • [백준|파이썬] 2891: 카약과 강풍 (실버5)
  • [백준|파이썬] 2775: 부녀회장이 될테야 (브론즈1)
  • [백준|파이썬] 5766: 할아버지는 유명해! (실버4)
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
    반응형
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로그래밍
        • Programming
        • C | C++
        • Java
        • Python
      • 웹 프로그래밍
        • HTML | CSS
        • JavaScript | TypeScript
        • React
        • Vue.js
        • Next.js
        • Spring & Spring Boot
        • JSP & Servlet
        • DB
      • 웹 프로젝트
        • 웹 프로젝트
        • 🥨스낵몰
        • 👨‍👨‍👧‍👧소셜 가계부
        • 🌜꿈 일기장
        • 🔮포트폴리오 사이트
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼
        • 😺Just Meow It: 고양이의 조언
      • 앱 프로그래밍
        • Flutter
        • Kotlin
      • Problem Solving
        • 백준
        • 프로그래머스
        • SWEA
      • Computer Science
        • 알고리즘
        • 컴퓨터 네트워크
        • 이산수학
      • Developer
        • 후기
        • 자료정리
        • 취업 | 취준
        • 웹개발 교육 프로그램
        • TIL
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    백준
    bfs
    프로그래머스
    d3
    클론 프로젝트
    자바스크립트
    AWS
    플러터
    블로그 제작
    공식문서
    웹사이트
    강의내용정리
    SWEA
    ZeroCho
    mysql
    파이썬
    포트폴리오
    Next.js
    뉴렉처
    리액트
    컴퓨터네트워크
    React
    구현
    Jiraynor Programming
    Til
    spring boot
    프로젝트
    타입스크립트
    알고리즘
    자바
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
[백준|파이썬] 2563: 색종이 (실버5)
상단으로

티스토리툴바