본문 바로가기

스터디 1일 1커밋

240613 [프로그래머스] 42842. 카펫

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문제


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

 

Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다.

Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요.

 


제출 코드


def solution(brown, yellow):
    answer = []
    yellows = []
    for i in range(1, yellow+1):
        if yellow % i == 0:
            yellows.append(i)

    n = len(yellows)
    for j in range(n):
        if (yellows[j]+yellows[n-1-j])*2+4 == brown:
            answer.append(yellows[n-1-j]+2)
            answer.append(yellows[j]+2)
            break
    return answer

결과



노란색에 따라 갈색의 수를 구하는 식만 구현하면 쉽게 풀 수 있는 문제였다. 첫 프로그래머스 문제 가볍게 성공!ㅎㅎ