개발/코테

[2일차] 프로그래머스 - 짝수는 싫어요, 나머지 구하기, 중앙값 구하기, 각도기

su-mmer 2023. 10. 25. 17:48
728x90

짝수는 싫어요


풀이

def solution(n):
  return [x for x in range(1,n+1,2)]

리스트 컴프리헨션 사용

 

나머지 구하기


풀이

def solution(num1, num2):
    return divmod(num1, num2)[1]
    # return num1%num2

처음에 %연산자를 사용해 나머지를 구했다.

다른 풀이를 보니 divmod 함수를 사용했다.

 

x = divmod(10, 3)
print(x) # (3, 1)

divmod 함수는 나머지와 몫을 한 번에 구해 튜플을 리턴한다.

두 번째 인자에 0을 넣으면 에러를 반환한다. (0으로 나눌 수 없으므로)

작은 수에서는 //와 %연산자를 사용하는 것이 빠르고 큰 수를 대할때는 divmod 함수를 사용하는 것이 빠르다.

 

중앙값 구하기


풀이

def solution(array):
    array.sort()
    return array[int(len(array)/2)]
# return sorted(array)[len(array) // 2]

array.sort()는 array 자체를 정렬하여 변환시킴

sorted(array)는 array는 두고, 정렬된 새로운 리스트를 반환함

 

 

각도기


def solution(angle):
    if angle<=90:
        return 1 if angle < 90 else 2
    else:
        return 3 if angle <180 else 4

처음에 if, elif, elif, else 이렇게 나눴는데, 더 좋은 코드가 있어서 변경했다.

파이썬은 return에도 if 로 분기를 줄 수가 있구나,, 정말 좋다

728x90