Coding Test/프로그래머스 8

[LEVEL 1] 없는 숫자 더하기 - Python

없는 숫자 더하기 1. 문제 설명 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 반환(Return)하도록 solution 함수를 완성하세요. 2. 제한사항 ● 1 ≤ numbers의 길이 ≤ 9 ● 0 ≤ numbers의 모든 원소 ≤ 9 ● numbers의 모든 원소는 서로 다릅니다. 3. 답안 1234567891011121314def solution(numbers): # numbers에서 찾을 수 없는 숫자를 저장할 unique_number 리스트 초기화 unique_number = [] # 반복문을 통해 numbers에서 찾을 수 없는 숫자만 그대로 추가하고, numbers에서 ..

[LEVEL 1] 크레인 인형뽑기 게임 - Python

크레인 인형뽑기 게임 1. 문제 설명 게임 개발자인 '죠르디'는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. '죠르디'는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 1 × 1 크기의 칸들로 이루어진 N × N 크기의 정사각 격자이며, 위쪽에는 크레인이 있고, 오른쪽에는 바구니가 있습니다. 위 그림은 5 × 5 크기의 예시입니다. 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 1 × 1 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓..

[LEVEL 1] 평균 구하기 - Python

평균 구하기 1. 문제 설명 정수를 담고 있는 배열 arr의 평균값을 반환(Return)하는 solution 함수를 완성해보세요. 2. 제한사항 ● arr은 길이 1 이상, 100 이하인 배열입니다. ● arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 3. 답안 1 2 3 4 5 6 7 def solution(arr): # sum() 함수를 통해 arr 리스트의 원소를 모두 더하고 len() 함수를 통해 원소의 개수로 나눠 평균 도출 answer = sum(arr) / len(arr) # 결과 값 반환 return answer 4. 해설 1 2 3 4 5 6 7 8 9 10 # statistics 라이브러리 불러오기(Import) import statistics def another_..

[LEVEL 1] 성격 유형 검사하기 - Python

성격 유형 검사하기 1. 문제 설명 나만의 카카오 성격 유형 검사지를 만들려고 합니다. 성격 유형 검사는 다음과 같은 4개 지표로 성격 유형을 구분합니다. 성격은 각 지표에서 두 유형 중 하나로 결정됩니다. 지표 번호 성격 유형 1번 지표 라이언형(R), 튜브형(T) 2번 지표 콘형(C), 프로도형(F) 3번 지표 제이지형(J), 무지형(M) 4번 지표 어피치형(A), 네오형(N) 4개의 지표가 있으므로 성격 유형은 총 2 × 2 × 2 × 2 = 16가지가 나올 수 있습니다. 예를 들어, "RFMN"이나 "TCMA"와 같은 성격 유형이 있습니다. 검사지에는 총 n개의 질문이 있고, 각 질문은 매우 비동의, 비동의, 약간 비동의, 모르겠음, 약간 동의, 동의, 매우 동의의 7개의 선택지가 있습니다. 각 ..

[LEVEL 1] 부족한 금액 계산하기 - Python

부족한 금액 계산하기 1. 문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원인데, 놀이기구를 N번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 반환(Return)하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 반환(Return)하세요. 2. 제한사항 ● 놀이기구의 이용료(price) : 1 ≤ price ≤ 2,500, price는 자연수 ● 처음 가지고 있던 금액(money) : 1 ≤ money ≤ 1,000,000,0..

[LEVEL 1] 3진법 뒤집기 - Python

3진법 뒤집기 1. 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 반환(Return)하도록 solution 함수를 완성해주세요. 2. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 3. 답안 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 def solution(n): # n을 3진법으로 변환한 수를 앞뒤로 뒤집어 각 자릿수를 저장할 리스트 tenary_list 초기화 ternary_list = [] # while 반복문을 통해 ternary_list에 3진법으로 변환한 수를 저장 while n: ternary_list.append(n % 3) n = n // 3 # 결과 ..

[LEVEL 1] 모의고사 - Python

모의고사 1. 문제 설명 '수포자'는 수학을 포기한 사람의 준말입니다. '수포자' 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. '수포자'는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. ● 1번 '수포자'가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, … ● 2번 '수포자'가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, … ● 3번 '수포자'가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, … 1번 문제부터 마지막 문제까지의 정답이 순서대로 들어 있는 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 반환..

[LEVEL 1] 같은 숫자는 싫어 - Python

같은 숫자는 싫어 1. 문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 반환(Return)하는 solution 함수를 완성해주세요. 2. 제한사항 ● 배열 arr의 크기 : 1,000,000 이하의 자연수 ● 배열 arr의 원소의 크기 : 0보다 크거나 같고 9보다 작거나 같은 정수 3. 답안 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 def solution(arr): # 결과 값을 담을 ..