반응형 전체 글204 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. Python 분수의 덧셈 [코딩테스트 입문 - Day2] 문제 구현 분수의 덧셈을 정리해보면 a/b + c/d = (a*d+b*c)/b*d 다. 여기서 추가로 최대공약수를 이용해 약분해주면 된다. 코드 import math def solution(numer1, denom1, numer2, denom2): numer = denom1*numer2 + denom2*numer1#분자 denom = denom1 * denom2#분모 gcd = math.gcd(denom, numer)#최대공약수 구하기 return [numer//gcd, denom//gcd] 다른 풀이 유클리드 호제법을 써서 최대공약수 구하는 부분을 직접 구현해도 된다. (참고 https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%.. 2023. 1. 13. Python 두 수의 나눗셈 [코딩테스트 입문 - Day2] 문제 구현 num1을 num2로 나눈 값에 1000을 곱한후 int로 타입 캐스팅을 해서 소수점을 버려준다. 코드 def solution(num1, num2): return int(num1/num2*1000) 다른 풀이 solution = lambda x, y: int(x/y*1000) 람다를 사용해서 풀 수도 있다. 2023. 1. 13. Python 배열 두 배 만들기 [코딩테스트 입문 - Day2] 문제 구현 numbers 리스트의 모든 원소를 *2 해주면 된다. 코드 def solution(numbers): return [x*2 for x in numbers] list comprehension을 써서 모든 원소를 *2 한 리스트를 리턴했다. 다른 풀이 정석(?)적인 방법으로 리스트를 돌면서 원소의 *2를 answer에 추가해주고 answer를 리턴한 코드다. def solution(numbers): answer = [] for num in numbers: answer.append(num * 2) return answer 람다식을 써서 풀 수 있다. solution = lambda numbers : [x*2 for x in numbers] 2023. 1. 13. 이전 1 ··· 12 13 14 15 16 17 18 ··· 51 다음 반응형