Devlog_by_0giru

[프로그래머스] 카펫 본문

[PS]

[프로그래머스] 카펫

0giru_kim 2021. 5. 14. 09:48

https://programmers.co.kr/learn/courses/30/lessons/42842

 

코딩테스트 연습 - 카펫

Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과

programmers.co.kr

 

따로 어려웠던 내용이 없는 간단한 문제였다.

 

노란색은 항상 중앙에 모여있으므로 n개가 주어질 때 약수 쌍을 구분하는 것이 포인트다.

ex) 노란색이 24개 일 때, 가로 세로가 1줄-24줄 or, 2줄-12줄 or 3줄-8줄 ... 등등

 

해당하는 약수 쌍이 나왔을 때, 큰 값 - 작은 값 순으로 정렬해서 리턴해주었다.

 

def getBrown(col, row):
    return (col + 2) * 2 + 2 * row
            
def solution(brown, yellow):
    answer = list()
    
    for i in range(1, yellow + 1):
        if yellow % i == 0:
            tempCol = i;
            tempRow = yellow / i;
            if getBrown(tempCol, tempRow) == brown:
                answer = [max(tempCol + 2, tempRow + 2), min(tempCol + 2, tempRow + 2)]
                break
    
    return answer

'[PS]' 카테고리의 다른 글

[프로그래머스] 주식 가격  (0) 2021.05.28
[프로그래머스] 프린터  (0) 2021.05.25
[프로그래머스] 타겟 넘버  (0) 2021.04.20
[프로그래머스] 소수 찾기  (0) 2021.04.04
[boj] 촌수계산_2644  (0) 2021.04.02