본문 바로가기
반응형

python326

Python 중앙값 구하기 [코딩테스트 입문 - Day3] 문제 구현 sorted를 이용해 정렬 후 중간 index가 가지고 있는 값을 얻어오면 된다. // 연산자는 나머지를 버리고 몫을 가져오기 때문에 //2로 중간 인덱스를 얻을 수 있다. 코드 def solution(array): return sorted(array)[len(array)//2] 다른 풀이 풀어서 쓰면 다음과 같다. def solution(array): array = sorted(array) length = len(array)//2 return array[length] 2023. 1. 16.
Python 최빈값 구하기 [코딩테스트 입문 - Day3] 문제 구현 코드 import statistics def solution(array): temp = statistics.multimode(array) return -1 if len(temp)>1 else temp[0] statistics의 multimode를 사용해 최빈값을 추출했다. 참고 : (https://docs.python.org/ko/dev/library/statistics.html) multimode의 설명은 다음과 같다. array에서 먼저 발견되는 순서대로 가장 자주 등장하는 값의 리스트를 반환한다. 여러 최빈값이 있으면 둘 이상의 결과를 반환하고 비어있다면 빈 리스트를 반환한다. 이 방법은 잘 쓰지 않는 방법이라 코딩테스트에서는 권장하지 않는다. 다른 풀이 enumerate를 써서 배열의 .. 2023. 1. 16.
Python 나머지 구하기 [코딩테스트 입문 - Day3] 문제 구현 %연산자를 이용해서 num1%num2를 리턴하면 된다. 코드 def solution(num1, num2): return num1%num2 다른 풀이 solution = lambda x,y : x%y 2023. 1. 16.
Python 짝수는 싫어요 [코딩테스트 입문 - Day3] 문제 구현 list comprehension과 range를 이용해 한 step씩 건너뛰도록 구현하면 된다. 코드 def solution(n): return [i for i in range(1, n+1, 2)] range (시작, 끝, 스텝) 이렇게 사용된다. 위 코드는 1이상 n+1 미만 범위에서 2씩 건너뛰도록 한 것이다. 즉 [1,1+2,1+2+2,..... ] 이렇게 n까지 증가하게 된다. 다른 풀이 def solution(n): return [x for x in range(n + 1) if x % 2] range의 스텝값을 빼고 % 2의 나머지가 있을 때(==홀수일 때)를 추출해 줘도 된다. 2023. 1. 16.
반응형