새소식

반응형
코딩 테스트

[프로그래머스] 카펫

  • -
728x90
반응형

문제

  • 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫이 있다.
  • 갈색 격자의 수와 노란색 격자의 수가 주어질 때, 카펫의 가로와 세로 크기 구하기
    • 8 <= 갈색 격자 수 <= 5,000
    • 1 <= 노란색 격자 수 <= 2,000,000

 

풀이

  • brown = (가로-2)*2 + (세로)*2
  • yellow = (가로-2)*(세로-2)

 

def solution(brown, yellow):
    r, c = 0, 0
    for i in range(3, brown//2+1):
    	# (가로-2) 가 yellow 의 소인수이고
        # (가로-2)*2 + 세로*2 = brown 인 경우 
        if yellow % (i-2) == 0 and brown == (i-2)*2 + (yellow//(i-2) + 2)*2:
            r, c = i, yellow//(i-2) + 2
    
    return [r, c]

 

References

  • 프로그래머스 고득점 Kit 완전탐색
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.