프로그래머스 코딩테스트 입문 복습
문제
정수 num1과 num2가 주어질 때, num1과 num2의 합을 return하도록 solution 함수를 완성해주세요.
제출 코드
def solution(num1, num2):
answer = num1 + num2
return answer
문제
정수 num1과 num2가 주어질 때, num1에서 num2를 뺀 값을 return하도록 soltuion 함수를 완성해주세요.
제출 코드
def solution(num1, num2):
answer = num1 - num2
return answer
문제
정수 num1, num2가 매개변수 주어집니다. num1과 num2를 곱한 값을 return 하도록 solution 함수를 완성해주세요.
제출 코드
def solution(num1, num2):
answer = num1 * num2
return answer
문제
정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 solution 함수를 완성해주세요.
제출 코드
def solution(num1, num2):
answer = num1 // num2
return answer
문제
정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요.
제출 코드
def solution(num1, num2):
answer = int((num1 / num2) * 1000)
return answer
문제
정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요.
제출 코드
def solution(num1, num2):
if num1 == num2:
return 1
else:
return -1
문제
첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
제출 코드
from math import gcd
def solution(numer1, denom1, numer2, denom2):
numerator = (denom1*numer2) + (numer1*denom2)
denominator = (denom1*denom2)
gcd_value = gcd(numerator, denominator)
answer = [numerator/gcd_value, denominator/gcd_value]
return answer
math 모듈 gcd() : 최대공약수를 구해주는 함수
통분을 해서 더한 분모와 분자값을 각각 저장하고, gcd() 함수를 사용해 두 분모의 최대 공약수로 각각 나누어 약분한 분자와 분모의 값을 return 한다.
문제
정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.
제출 코드
def solution(numbers):
answer = [num*2 for num in numbers]
return answer
List Comprehension 사용해서 새로운 리스트 생성
문제
정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요.
제출 코드
def solution(num1, num2):
answer = num1 % num2
return answer
문제
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.
제출 코드
def solution(array):
array.sort()
answer = array[len(array)//2]
return answer
.sort()
를 사용해 오름차순 정렬 후 가운데 인덱스값으로 중앙값 구하기
문제
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.
제출 코드
def solution(array):
cnt_dict = {}
for arr in array:
if arr not in cnt_dict.keys():
cnt_dict[n] = 1
else:
cnt_dict[n] += 1
conv_dict = {v:k for k,v in cnt_dict.items()}
answer = conv_dict.get(max(list(conv_dict.keys())))
if list(cnt_dict.values()).count(max(conv_dict.keys())) > 1:
answer = -1
return answer
배열에서 숫자와 그 숫자의 개수를 Dictionary 형태로 저장.
숫자의 개수와 숫자 순서로 담긴 Dictionary도 생성 후 개수가 가장 큰 값의 value값(숫자)을 answer로 저장.
숫자 개수를 리스트로 담아 가장 큰 개수가 한 개 이상일 때는 -1을 answer로 return.
문제
정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.
제출 코드
def solution(n):
answer = [num for num in range(1, n+1, 2)]
return answer
if문을 사용해 홀수 조건을 만들 수도 있지만 간단하게 range()
함수의 start를 1, step을 2로 주었다.