python40 [프로그래머스/Python] 제일 작은 수 제거하기 [프로그래머스/Python] 제일 작은 수 제거하기 ● 문제 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. ● 소스코드 def solution(arr): answer = [] if len(arr) == 1: answer.append(-1) else: answer = arr answer.remove(min(arr)) return answer ● 풀이 특별한 알고리즘은 없다. min 함수를 사용하여 list 내의 최솟값을 구할 수 있다. remove 함수를 사용하.. 2021. 10. 9. [프로그래머스/Python] 정수 제곱근 판별 [프로그래머스/Python] 정수 제곱근 판별 ● 문제 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. ● 소스코드 from math import sqrt def solution(n): answer = 0 if n == (sqrt(n) // 1) ** 2: answer = (sqrt(n) + 1) ** 2 else: answer = -1 return answer ● 풀이 특별한 알고리즘은 없다. math package의 sqrt 함수를 사용하면 제곱근을 구할 수 있다. * https://programmers.co.kr/learn/c.. 2021. 10. 9. [프로그래머스/Python] 자릿수 더하기 [프로그래머스/Python] 자릿수 더하기 ● 문제 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. ● 소스코드 def solution(n): answer = 0 for i in str(n): answer += int(i) return answer ● 풀이 특별한 알고리즘은 없다. 정수를 string으로 바꾼뒤 모든 자릿수를 더해준다. * https://programmers.co.kr/learn/courses/30/lessons/12931 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수.. 2021. 10. 9. [프로그래머스/Python] 약수의 합 [프로그래머스/Python] 약수의 합 ● 문제 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. ● 소스코드 def solution(n): answer = 0 for i in range(1,n+1): if n % i == 0: answer += i return answer ● 풀이 특별한 알고리즘은 없다. 1 ~ n 까지의 수 중 n의 약수를 찾아 모두 더한다. * https://programmers.co.kr/learn/courses/30/lessons/12928 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n .. 2021. 10. 9. [프로그래머스/Python] 피보나치 수 [프로그래머스/Python] 피보나치 수 ● 문제 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수입니다. 예를 들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. ● 소스코드 def solution(n): answer = 0 fibo = [0 for i in range(100001)] fibo.. 2021. 10. 9. [Python] "combinations", 리스트 원소들의 조합 구하기 [Python] "combinations", 리스트 원소들의 조합 구하기 ● 내용 python에서 List의 원소들로 조합을 만들 수 있다. itertools 의 combinations 함수를 사용한다. n개의 숫자에서 r개의 숫자를 골라서 만들 수 있는 모든 경우의 수를 구해준다. # combination 함수 import from itertools import combinations # 조합을 만들 list candidate = [1, 2, 3] # 사용법 # combinations(list, number) # list : 조합을 만들 list # number : 몇 개의 숫자를 뽑아 조합을 만들 것인지 result = list(combinations(candidate, 2)) # [(1,2),(1,.. 2021. 10. 9. 이전 1 2 3 4 5 6 7 다음