coding test

[파이썬] 카펫

잔망루피 2020. 12. 2. 21:12

출처 : programmers.co.kr/learn/courses/30/lessons/42842

 

코딩테스트 연습 - 카펫

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

programmers.co.kr

 

☆ 나의 풀이

 

# 35/100 실패
def solution(brown, yellow):
    answer = []
    area=brown+yellow
    for i in range(2,area//2):
        if area%i==0:
            answer.append([i,area//i])
    return max(answer)

 

# 통과
def solution(brown, yellow):
    answer = []
    area=brown+yellow
    for i in range(2,area//2):
        if area%i==0 :
            if (i-2)*(area//i-2)==yellow:
                answer.append([i,area//i])
    return max(answer) 

 

★ 다른 사람 풀이

def solution(brown, red):
    for i in range(1, int(red**(1/2))+1):
        if red % i == 0:
            if 2*(i + red//i) == brown-4:
                return [red//i+2, i+2]

 

import math
def solution(brown, yellow):
    w = ((brown+4)/2 + math.sqrt(((brown+4)/2)**2-4*(brown+yellow)))/2
    h = ((brown+4)/2 - math.sqrt(((brown+4)/2)**2-4*(brown+yellow)))/2
    return [w,h]
반응형

'coding test' 카테고리의 다른 글

[파이썬] 쿼드압축 후 개수 세기  (0) 2020.12.04
[파이썬] 3진법 뒤집기  (0) 2020.12.03
[파이썬] 구명보트  (0) 2020.12.02
[파이썬, Java] H-Index  (0) 2020.12.01
[파이썬] 2016년  (0) 2020.11.30