반응형 Coding Test/프로그래머스 코딩테스트 입문33 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. Python 각도기 [코딩테스트 입문 - Day7] 문제 구현 코드 def solution(angle): answer = (angle // 90) * 2 + (angle % 90 > 0) * 1 return answer if ~ else 4개를 쓰기 싫어서 압축해 보았다. 직각, 평각일 때는 90으로 나눈 값이 1,2 이므로 그 값에 2를 곱해서 2,4가 나오도록 했고 예각, 둔각일 때는 1을 더해주도록 했다. 다른 풀이 def solution(angle): if angle 2023. 2. 9. Python 짝수의 합 [코딩테스트 입문 - Day7] 문제 구현 n 이하의 짝수를 모두 더한 값을 리턴해주면 된다. 코드 def solution(n): return sum([i for i in range(n+1) if i%2==0]) list comprehension을 사용해 짝수를 필터링 한 뒤 sum을 했다. 다른 풀이 def solution(n): return sum(range(0,n+1,2)) range를 통해 step2로 짝수만 뽑은 값을 sum 했다. 2023. 2. 9. 이전 1 2 3 4 5 ··· 9 다음 반응형