개발/코테
[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