[백준] 2630. 색종이 만들기(re)

채연·2023년 2월 12일
0

baekjoon

목록 보기
11/26

색종이 만들기 문제를 다시 풀어보며, 기억해야 할 내용 기억하기

  1. 값 입력 받기
  2. blue, white 선언
  3. 재귀 함수 만들기(x, y, n)
    3-1. white와 blue를 전역 변수 선언한다.
    3-2. 제일 왼쪽 위에 있는 수를 첫 번째 값으로 잡고, 자른 면이 모두 같은 수인지 for 문을 이용하여 비교
    3-3. 다른 수일 때, 1사분면-2사분면-3사분면-4사분면을 들어가게 재귀를 해줌
    -> 1사분면은 (x, y, n//2) -> n//2는 아닐 시 2분의 1만큼이 줄어들기 때문이다.
    -> 2사분면은 (x, y+n//2, n//2)
        => 처음에 (x, y+n, n//2)로만 해줬다가 계속 틀렸었는데, 여기서 n//2가 들어가는 것과 같은 원리로 y에 더해질 때도 n//2를 해주어야 한다.
    -> 3사분면은 (x+n//2, y, n//2)
    -> 4사분면은 (x+n//2, y+n//2, n//2)
    3-4. for문이 끝나고 1이라면 blue에 +1씩 더해주고, 0이라면 white에 1씩 더해줌

값 입력 받기

lst = [list(map(int, input().split())) for _ in range(N)]
-> N * N을 입력 받게 해줌

profile
Hello Velog

0개의 댓글