본문 바로가기
반응형

프로그래머스109

Python 진료 순서 정하기 [코딩테스트 입문 - Day8] 문제 구현 임시 리스트에 내림차순으로 emergency 정렬한 것을 저장한 후 임시 리스트를 돌며 emergency에서 원소를 찾아 인덱스를 찾는다. 코드 def solution(emergency): temp = sorted(emergency, reverse=True) answer = [temp.index(i)+1 for i in emergency] return answer 다른 풀이 위보다 간단하게 푸는 법은 보이지 않지만 약간의 효율성을 더 따진다면 enumerate를 쓴 후 index로 접근하면 된다. def solution(emergency): answer = [] emer_ls = {e: i + 1 for i, e in enumerate(sorted(emergency)[::-1])} for e .. 2023. 2. 15.
Python 배열 자르기 [코딩테스트 입문 - Day8] 문제 구현 slice를 이용해 num1부터 num2+1까지 자른 리스트를 리턴해준다. 코드 def solution(numbers, num1, num2): return numbers[num1:num2+1] 다른 풀이 def solution(numbers, num1, num2): return [numbers[i] for i in range(num1, num2+1)] range와 list comprehension을 이용해서 이렇게 할 수도 있다. 2023. 2. 15.
Python 순서쌍의 개수 [코딩테스트 입문 - Day8] 문제 구현 1부터 n까지 반복하며 나누어 떨어지는 수들을 체크하고 마지막에 리턴해준다. 코드 def solution(n): answer =0 for i in range(n): if n % (i+1) ==0: answer +=1 return answer 다른 풀이 조금 더 효율성을 따지고 싶다면 제곱근까지 조사하고 완전제곱수인지 판단해서 리턴해주면 된다. def solution(n): answer=0 for i in range(1, int(n**0.5)+1): if n%i==0: answer+=1 return answer*2 if n**0.5!=int(n**0.5) else answer*2-1 코드는 길어지지만 시간은 많이 줄어든다. 2023. 2. 15.
Python 양꼬치 [코딩테스트 입문 - Day7] 문제 구현 양꼬치의 가격과 음료수(서비스 개수는 제외) 가격을 계산해서 더한 값을 리턴한다. 코드 def solution(n, k): return n*12000+(k-(n//10))*2000 n*12000은 양꼬치값, n//10은 양꼬치 10개당 서비스 하나이다. 위 구현방식을 그대로 적용했다. 문제가 단순하기에 다른 풀이는 없어 보인다. 2023. 2. 9.
반응형