[Python] 2630 - 색종이 만들기 (실버2)

2022. 6. 25. 20:49·Coding Test/Solution

1. 문제 설명

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

 

2630번: 색종이 만들기

첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다.

www.acmicpc.net

 


2. 아이디어

아예 분할 탐색을 쓰라고 문제에 사진까지 첨부해가며 어필하고 있다.

N = 2^k (1 <= k <= 7)이므로 N의 범위는 최대 128이 된다.

한창 열심히 시간복잡도 구하는 연습하던 시절

분할 탐색을 사용하면 시간복잡도가 해봐야 O(\(n^{2}log_{2}n\))이므로 충분히 통과할 수 있다.


3. 코드

cnt_w = 0
cnt_b = 0

def split(row, col, n, paper):
    global cnt_w
    global cnt_b

    color = paper[row][col]
    for y in range(row, row + n):
        for x in range(col, col + n):
            if (color != paper[y][x]):
                split(row, col, n//2, paper)
                split(row + n//2, col, n//2, paper)
                split(row, col + n//2, n//2, paper)
                split(row + n//2, col + n//2, n//2, paper)
                return
    if color == 0:
        cnt_w += 1
    else:
        cnt_b += 1

def solution():
    n = int(input())
    paper = [list(map(int, input().split())) for _ in range(n)]

    split(0, 0, n, paper)
    print(cnt_w)
    print(cnt_b)

solution()
저작자표시 비영리 (새창열림)
'Coding Test/Solution' 카테고리의 다른 글
  • [Python] 6588 - 골드바흐의 추측 (실버1) : 에라토스테네스의 체
  • [Python] 2504 - 괄호의 값 (실버1)
  • [Python] 17427 - 약수의 합2 (실버2)
  • [Python] 2491 - 수열 (실버4)
나죽못고나강뿐
나죽못고나강뿐
싱클레어, 대부분의 사람들이 가는 길은 쉽고, 우리가 가는 길은 어려워요. 우리 함께 이 길을 가봅시다.
  • 나죽못고나강뿐
    코드를 찢다
    나죽못고나강뿐
  • 전체
    오늘
    어제
    • 분류 전체보기 (454)
      • Computer Science (60)
        • Git & Github (4)
        • Network (17)
        • Computer Structure & OS (13)
        • Software Engineering (5)
        • Database (9)
        • Security (5)
        • Concept (7)
      • Frontend (21)
        • React (13)
        • Android (4)
        • iOS (4)
      • Backend (77)
        • Spring Boot & JPA (50)
        • Django REST Framework (14)
        • MySQL (8)
        • Nginx (1)
        • FastAPI (4)
      • DevOps (24)
        • Docker & Kubernetes (11)
        • Naver Cloud Platform (1)
        • AWS (2)
        • Linux (6)
        • Jenkins (0)
        • GoCD (3)
      • Coding Test (112)
        • Solution (104)
        • Algorithm (7)
        • Data structure (0)
      • Reference (134)
        • Effective-Java (90)
        • Pragmatic Programmer (0)
        • CleanCode (11)
        • Clean Architecture (2)
        • Test-Driven Development (4)
        • Relational Data Modeling No.. (0)
        • Microservice Architecture (2)
        • 알고리즘 문제 해결 전략 (9)
        • Modern Java in Action (0)
        • Spring in Action (0)
        • DDD start (0)
        • Design Pattern (6)
        • 대규모 시스템 설계 (6)
        • JVM 밑바닥까지 파헤치기 (4)
      • Service Planning (2)
      • Side Project (5)
      • AI (0)
      • MATLAB & Math Concept & Pro.. (1)
      • Review (15)
      • Interview (1)
      • IT News (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃
  • 공지사항

    • 취업 전 계획 재조정
    • 취업 전까지 공부 계획
    • 앞으로의 일정에 대하여..
    • 22년 동계 방학 기간 포스팅 일정
    • 중간고사 기간 이후 포스팅 계획 (10.27~)
  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
나죽못고나강뿐
[Python] 2630 - 색종이 만들기 (실버2)

개인정보

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

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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