https://programmers.co.kr/learn/courses/30/lessons/42842
코딩테스트 연습 - 카펫
Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과
programmers.co.kr
result = []
def solution(brown, yellow):
global result
answer = []
for i in range(1,brown+yellow+1):
if int((brown + yellow) / i) == ((brown + yellow) / i): #정수로 나누어 지는지 확인
if ((brown + yellow) / i) <= i: # 정수로 나누어지는 수 중 곂치는 걸 제외시켜줌 ex)5*3, 3,5
answer.append([i, (brown+yellow)/i])
for i in range(len(answer)):
if (answer[i][0]-2) * (answer[i][1]-2) == yellow: #yellow의 갯수를 맞춰주는 코드
result = [answer[i][0],int(answer[i][1])]
return result
brown과 yellow의 갯수를 보고 카펫의 크기를 맞추는 문제이다.
brown은 배열의 가장자리만 차지하므로 나머지는 yellow일 수 밖에 없다!
그렇다면 yellow를 구하는 식은 (y좌표-2)*(x좌표-2)가 된다 (가장자리의 brown의 공간을 빼줌)
'Algorithm > programmers' 카테고리의 다른 글
programmers 신고 결과 받기 (0) | 2022.07.26 |
---|---|
프로그래머스: 굿스타터 스킬레벨체크1(python) (0) | 2022.07.26 |
programmers 단어 변환(DFS/BFS) (0) | 2022.06.08 |
programmers 네트워크(DFS/BFS) (0) | 2022.06.08 |
programmers 타겟넘버(DFS/BFS) (0) | 2022.06.08 |
댓글