코딩하는 해맑은 거북이
[Python] 카펫 - 프로그래머스 (완전탐색) 본문
해당 글은 프로그래머스 완전탐색 Level 2 '카펫'을 다룬다.
문제
https://school.programmers.co.kr/learn/courses/30/lessons/42842
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
설명
중앙에 노란색이 칠해져있고, 테두리 1줄만 갈색으로 칠해져있으므로
yellow의 가로에 양옆에 갈색이 있으므로 +2
yellow의 세로에 위아래로 갈색이 있으므로 +2
이 값 두개를 곱하면 전체 카펫의 크기가 나오는 것을 이용하였다.
그리고 카펫의 가로 길이가 세로 길이보다 같거나 크므로 answer[0]에 max처리를 해주고, answer[1]에 min처리를 해주었다.
코드
def solution(brown, yellow):
answer = [0, 0]
sum = brown + yellow
for i in range(1, yellow+1):
if yellow % i == 0:
y_w = yellow//i
y_h = i
if ((y_w+2) * (y_h+2)) == sum:
answer[0] = max(y_w+2, y_h+2)
answer[1] = min(y_w+2, y_h+2)
return answer
'코딩테스트' 카테고리의 다른 글
[Python] 문자열 내 마음대로 정렬하기 - 프로그래머스 (정렬) (0) | 2023.01.03 |
---|---|
[Python] 이중우선순위큐 - 프로그래머스 (0) | 2023.01.02 |
[Python] DFS와 BFS - 백준 (DFS/BFS) (0) | 2022.12.30 |
[Python] 문자열 - 백준 (0) | 2022.12.29 |
[Python] 숫자 정사각형 - 백준 (0) | 2022.12.26 |
Comments