본문 바로가기

코딩65

[프로그래머스/Python] 약수의 갯수와 덧셈 [프로그래머스/Python] 약수의 갯수와 덧셈 ● 문제 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. ● 소스코드 def solution(left, right): answer = 0 for i in range(left,right+1): cur = 0 for j in range(1,i+1): if i % j == 0: cur += 1 if cur % 2 == 0: answer += i else: answer -= i return answer ● 풀이 특별한 알고리즘은 없다. left 부터 right까지 약수의 갯수를 확인.. 2021. 10. 11.
[프로그래머스/Python] 소수 만들기 [프로그래머스/Python] 소수 만들기 ● 문제 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. ● 소스코드 from itertools import combinations def solution(nums): answer = 0 candidate = list(combinations(nums,3)) for i in range(len(candidate)): cur = sum(candidate[i]) is_prime = True for j in range(2,cur): if .. 2021. 10. 11.
[프로그래머스/Python] 숫자 문자열과 영단어 [프로그래머스/Python] 숫자 문자열과 영단어 ● 문제 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. ● 소스코드 def solution(s): answer = 0 dict = { 'zero' : '0', 'one' : '1', 'two' : '2', 'three' : '3', 'four' : '4', 'five' : '5', 'six' : '6', 'seven' : '7', 'eight' : '8', 'nine' : '9' } for i in dict.keys(): s = s.replace(i,dict[i]) answer = int(s) return ans.. 2021. 10. 11.
[프로그래머스/Python] N개의 최소공배수 [프로그래머스/Python] N개의 최소공배수 ● 문제 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. ● 소스코드 from math import gcd def solution(arr): answer = 0 lcd = arr[0] for i in arr: g = gcd(i,lcd) lcd = i * lcd // g answer = lcd return.. 2021. 10. 10.
[프로그래머스/Python] JadenCase 문자열 만들기 [프로그래머스/Python] JadenCase 문자열 만들기 ● 문제 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. ● 소스코드 def solution(s): answer = [] s = s.lower() words = s.split(' ') for word in words: if len(word) == 0: answer.append('') continue elif len(word) > 1: word = word[0].upper() + word[1:] else: word = word[0].upper() answer.append(word) an.. 2021. 10. 10.
[프로그래머스/Python] 위클리 챌린지, 2주차 상호평가 [프로그래머스/Python] 위클리 챌린지, 2주차 상호평가 ● 문제 학생들의 점수가 담긴 정수형 2차원 배열 scores가 매개변수로 주어집니다. 이때, 학생들의 학점을 구하여 하나의 문자열로 만들어서 return 하도록 solution 함수를 완성해주세요. ● 소스코드 def score_to_grade(score): grade = '' if score >= 90: grade = 'A' elif score >= 80: grade = 'B' elif score >= 70: grade = 'C' elif score >= 50: grade = 'D' else: grade = 'F' return grade def solution(scores): answer = '' for i in range(len(score.. 2021. 10. 9.