본문 바로가기
프로그래머스/2단계

(Python/LV2) 카펫

by windy7271 2022. 9. 21.
728x90
반응형

문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/42842

 

프로그래머스

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

programmers.co.kr

풀이: 

약수를 이용하여 풀면 된다

 

>> 밑에는 틀린풀이

 

def solution(brown, yellow):
    total = brown + yellow
    res = []

    for i in range(1,total+1):
        if total % i == 0:
            res.append([i, total//i])
    for i in range(len(res)):
        if res[i][0] >= res[i][1]:
            return res[i]
print(solution(24,24))

 

 

아래 포문을 


for x, y in res:
    if(x -2) * ( y -2 ) == yellow:
        return [y,x]
        
# -2 는 모서리가 겹치기때문에 -2 씩 해준다. 
# 총 겹치는 모서리는 4개

바꿔줘야 한다.

반응형

댓글