IT 공부 기록/알고리즘 13
[알고리즘] LV1. 짝수와 홀수
본 포스트는 프로그래머스의 알고리즘 문제를 기준으로 작성됩니다. 문제evenOrOdd 메소드는 int형 num을 매개변수로 받습니다.num이 짝수일 경우 “Even”을 반환하고 홀수인 경우 “Odd”를 반환하도록 evenOrOdd에 코드를 작성해 보세요.num은 0이상의 정수이며, num이 음수인 경우는 없습니다. 해답# 내 풀이 def evenOrOdd(num): return 'Even' if num%2 == 0 else 'Odd' #함수를 완성하세요 #아래는 테스트로 출력해 보기 위한 코드입니다. print("결과 : " + evenOrOdd(3)) print("결과 : " + evenOrOdd(2)) # 다른 풀이 : 파이썬은 소괄호가 없으면 논리연산자를 순차적으로 처리한다. def evenOrOd..
[알고리즘] LV1. 같은 숫자는 싫어
본 포스트는 프로그래머스의 알고리즘 문제를 기준으로 작성됩니다. 문제no_continuous함수는 스트링 s를 매개변수로 입력받습니다.s의 글자들의 순서를 유지하면서, 글자들 중 연속적으로 나타나는 아이템은 제거된 배열(파이썬은 list)을 리턴하도록 함수를 완성하세요.예를들어 다음과 같이 동작하면 됩니다.s가 '133303'이라면 ['1', '3', '0', '3']를 리턴s가 '47330'이라면 [4, 7, 3, 0]을 리턴 해답# 불 필요한 내 풀이 def no_continuous(s): result = [] for i in range(len(list(s))): if i==0: result.append(list(s)[i]) elif list(s)[i-1] != list(s)[i]: result.ap..
[알고리즘] LV1. 정수제곱근 판별하기
본 포스트는 프로그래머스의 알고리즘 문제를 기준으로 작성됩니다. 문제nextSqaure함수는 정수 n을 매개변수로 입력받습니다.n이 임의의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 임의의 정수 x의 제곱이 아니라면 'no'을 리턴하는 함수를 완성하세요.예를들어 n이 121이라면 이는 정수 11의 제곱이므로 (11+1)의 제곱인 144를 리턴하고, 3이라면 'no'을 리턴하면 됩니다. 해답# 내 풀이import math def nextSqure(n): # 함수를 완성하세요 return pow(math.sqrt(n)+1, 2) if math.sqrt(n) % 1 == 0 else 'no' # 아래는 테스트로 출력해 보기 위한 코드입니다. print("결과 : {}".format(nextSqure..
[알고리즘] LV1. 약수의 합
본 포스트는 프로그래머스의 알고리즘 문제를 기준으로 작성됩니다. 문제어떤 수를 입력받아 그 수의 약수를 모두 더한 수 sumDivisor 함수를 완성해 보세요. 예를 들어 12가 입력된다면 12의 약수는 [1, 2, 3, 4, 6, 12]가 되고, 총 합은 28이 되므로 28을 반환해 주면 됩니다. 해답# 내 풀이def sumDivisor(num): answer = 0 for i in range(1, (num//2)+1): if num % i == 0: answer += i answer += num return answer # 아래는 테스트로 출력해 보기 위한 코드입니다. print(sumDivisor(12)) # 하고자 했던 풀이 def sumDivisor(num): answer=0 return num..
[알고리즘] LV1. 피보나치 수
본 포스트는 프로그래머스의 알고리즘 문제를 기준으로 작성됩니다. 문제피보나치 수는 F(0) = 0, F(1) = 1일 때, 2 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 점화식입니다. 2 이상의 n이 입력되었을 때, fibonacci 함수를 제작하여 n번째 피보나치 수를 반환해 주세요. 예를 들어 n = 3이라면 2를 반환해주면 됩니다. 해답# 내 풀이def fibonacci(num): prev, curr = 0, 1 for i in range(num): tmp = curr curr += prev prev = tmp return prev # 아래는 테스트로 출력해 보기 위한 코드입니다. print(fibonacci(3)) # 다른 풀이 1def fibonacci(num): ..