Python 160

[Level.0] 다항식 더하기

문제 설명: 한 개 이상의 항의 합으로 이루어진 식을 다항식이라고 합니다. 다항식을 계산할 때는 동류항끼리 계산해 정리합니다. 덧셈으로 이루어진 다항식 polynomial이 매개변수로 주어질 때, 동류항끼리 더한 결괏값을 문자열로 return 하도록 solution 함수를 완성해보세요. 같은 식이라면 가장 짧은 수식을 return 합니다. 제한사항0 polynomial에 변수는 'x'만 존재합니다.polynomial은 양의 정수, 공백, ‘x’, ‘+'로 이루어져 있습니다.항과 연산기호 사이에는 항상 공백이 존재합니다.공백은 연속되지 않으며 시작이나 끝에는 공백이 없습니다.하나의 항에서 변수가 숫자 앞에 오는 경우는 없습니다." + 3xx + + x7 + "와 같은 잘못된 입력은 주어지지 않습니다.0으로..

[Level.0] 특이한 정렬

문제 설명: 정수 n을 기준으로 n과 가까운 수부터 정렬하려고 합니다. 이때 n으로부터의 거리가 같다면 더 큰 수를 앞에 오도록 배치합니다. 정수가 담긴 배열 numlist와 정수 n이 주어질 때 numlist의 원소를 n으로부터 가까운 순서대로 정렬한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항1 ≤ n ≤ 10,0001 ≤ numlist의 원소 ≤ 10,0001 ≤ numlist의 길이 ≤ 100numlist는 중복된 원소를 갖지 않습니다.문제 해결def solution(numlist, n): numlist = [(abs(num-n), -num) for num in numlist] numlist.sort() return [-num for _, num in n..

카테고리 없음 2026.03.23

[Level.0] 배열 만들기(2)

문제 설명: 정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다. 제한사항1 ≤ l ≤ r ≤ 1,000,000문제 해결def solution(l, r): answer = [] for i in range(l, r+1): if not set(str(i))-set(['0', '5']): answer.append(i) return answer if answer else [-1]

[Level.0] 유한소수 판별하기

문제 설명: 소수점 아래 숫자가 계속되지 않고 유한개인 소수를 유한소수라고 합니다. 분수를 소수로 고칠 때 유한소수로 나타낼 수 있는 분수인지 판별하려고 합니다. 유한소수가 되기 위한 분수의 조건은 다음과 같습니다.기약분수로 나타내었을 때, 분모의 소인수가 2와 5만 존재해야 합니다.두 정수 a와 b가 매개변수로 주어질 때, a/b가 유한소수이면 1을, 무한소수라면 2를 return하도록 solution 함수를 완성해주세요. 제한사항 a, b는 정수0 0 문제 해결import mathdef solution(a, b): b //= math.gcd(a, b) while b % 2 == 0: b //= 2 while b % 5 == 0: b //= 5 return..

[Level.0] 문자열 밀기

문제 설명: 문자열 "hello"에서 각 문자를 오른쪽으로 한 칸씩 밀고 마지막 문자는 맨 앞으로 이동시키면 "ohell"이 됩니다. 이것을 문자열을 민다고 정의한다면 문자열 A와 B가 매개변수로 주어질 때, A를 밀어서 B가 될 수 있다면 밀어야 하는 최소 횟수를 return하고 밀어서 B가 될 수 없으면 -1을 return 하도록 solution 함수를 완성해보세요. 제한사항0 A, B는 알파벳 소문자로 이루어져 있습니다.문제 해결def solution(A, B): if A == B: return 0 for i in range(1, len(A)): A = A[-1] + A[:-1] if A == B: return i return..

[Level.0] 저주의 숫자 3

문제 설명: 3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다. 정수 n이 매개변수로 주어질 때, n을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution 함수를 완성해주세요. 제한사항1 ≤ n ≤ 100문제 해결def solution(n): answer = 0 for _ in range(n): answer += 1 while answer%3==0 or '3' in str(answer): answer += 1 return answer

[Level.0] 치킨 쿠폰

문제 설명: 프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요. 제한사항chicken은 정수입니다.0 ≤ chicken ≤ 1,000,000문제 해결def solution(chicken): service = 0 while chicken > 9: service += chicken//10 rest = chicken%10 chicken = rest + chicken//10 return s..

[Level.0] 외계어 사전

문제 설명: PROGRAMMERS-962 행성에 불시착한 우주비행사 머쓱이는 외계행성의 언어를 공부하려고 합니다. 알파벳이 담긴 배열 spell과 외계어 사전 dic이 매개변수로 주어집니다. spell에 담긴 알파벳을 한번씩만 모두 사용한 단어가 dic에 존재한다면 1, 존재하지 않는다면 2를 return하도록 solution 함수를 완성해주세요. 제한사항spell과 dic의 원소는 알파벳 소문자로만 이루어져있습니다.2 ≤ spell의 크기 ≤ 10spell의 원소의 길이는 1입니다.1 ≤ dic의 크기 ≤ 101 ≤ dic의 원소의 길이 ≤ 10spell의 원소를 모두 사용해 단어를 만들어야 합니다.spell의 원소를 모두 사용해 만들 수 있는 단어는 dic에 두 개 이상 존재하지 않습니다.dic과 s..

[Level.0] 전국 대회 선발 고사

문제 설명: 0번부터 n - 1번까지 n명의 학생 중 3명을 선발하는 전국 대회 선발 고사를 보았습니다. 등수가 높은 3명을 선발해야 하지만, 개인 사정으로 전국 대회에 참여하지 못하는 학생들이 있어 참여가 가능한 학생 중 등수가 높은 3명을 선발하기로 했습니다. 각 학생들의 선발 고사 등수를 담은 정수 배열 rank와 전국 대회 참여 가능 여부가 담긴 boolean 배열 attendance가 매개변수로 주어집니다. 전국 대회에 선발된 학생 번호들을 등수가 높은 순서대로 각각 a, b, c번이라고 할 때 10000 × a + 100 × b + c 를 return 하는 solution 함수를 작성해 주세요. 제한사항 3 ≤ rank의 길이 = attendance의 길이 ≤ 100rank[i]는 i번 학생의..

[Level.0] 캐릭터의 좌표

문제 설명: 머쓱이는 RPG게임을 하고 있습니다. 게임에는 up, down, left, right 방향키가 있으며 각 키를 누르면 위, 아래, 왼쪽, 오른쪽으로 한 칸씩 이동합니다. 예를 들어 [0,0]에서 up을 누른다면 캐릭터의 좌표는 [0, 1], down을 누른다면 [0, -1], left를 누른다면 [-1, 0], right를 누른다면 [1, 0]입니다. 머쓱이가 입력한 방향키의 배열 keyinput와 맵의 크기 board이 매개변수로 주어집니다. 캐릭터는 항상 [0,0]에서 시작할 때 키 입력이 모두 끝난 뒤에 캐릭터의 좌표 [x, y]를 return하도록 solution 함수를 완성해주세요.[0, 0]은 board의 정 중앙에 위치합니다. 예를 들어 board의 가로 크기가 9라면 캐릭터는 ..