본문 바로가기

코딩테스트55

[코딩테스트/programmers] Lv.0 배열 회전시키기 문제 정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요. 입출력 numbers direction result [1, 2, 3] "right" [3, 1, 2] [4, 455, 6, 4, -1, 45, 6] "left" [455, 6, 4, -1, 45, 6, 4] 답 def solution(numbers, direction): answer = [] if direction == 'right': answer.append(numbers[-1]) for i in range(1, len(numbers)): answer.append(numbers[i .. 2022. 10. 24.
[코딩테스트/Softeer] 성적 평균 문제 N명의 학생들의 성적이 학번순서대로 주어졌다. 학번 구간 [A, B]가 주어졌을 때 이 학생들 성적의 평균을 구하는 프로그램을 작성하라. 입력 첫 번째 줄에 학생 수 N과 구간 수 K가 주어진다. 두 번째 줄에는 학생의 성적 Si (1 ≤ i ≤ N)가 주어진다. i + 2 (1 ≤ i ≤ K)번째 줄에는 i번째 구간 Ai, Bi가 주어진다. 5 3 10 50 20 70 100 1 3 3 4 1 5 출력 i번째 줄에 i번째 구간의 성적평균(소수셋째자리에서 반올림)을 출력한다. 차이가 0.01이하이면 정답으로 채점됨. 26.67 45.00 50.00 답 N, K = map(int, input().split()) S = list(map(int, input().split())) for i in range.. 2022. 10. 24.
[코딩테스트/programmers] Lv.0 구슬을 나누는 경우의 수 문제 머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요. 입출력 balls share result 3 2 3 5 3 10 답 def factorial(n): r = 1 for i in range(1, n + 1): r *= i return r def solution(balls, share): return factorial(balls) // (factorial(balls - share) * factorial(share)) 💡 math.c.. 2022. 10. 18.
[코딩테스트/programmers] Lv.0 진료 순서 정하기 문제 외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요. 입출력 array result [3, 76, 24] [3, 1, 2] [1, 2, 3, 4, 5, 6, 7] [7, 6, 5, 4, 3, 2, 1] [30, 10, 23, 6, 100] [2, 4, 3, 5, 1] 답 def solution(emergency): temp = emergency[:] temp.sort() answer = [] for i in emergency: answer.append(len(emergency) - temp.index(i)) ret.. 2022. 10. 18.
[코딩테스트/programmers] Lv.0 가장 큰 수 찾기 문제 정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요. 입출력 array result [1, 8, 3] [8, 1] [9, 10, 11, 8] [11, 2] 답 def solution(array): answer = [array[0], 0] for i in range(1, len(array)): if array[i] > answer[0]: answer[0] = array[i] answer[1] = i return answer 💡 max 함수 사용하면 더 간결하게 구현 가능. def solution(array): return [max(array), array.index(max(array))] 2022. 10. 18.
[코딩테스트/programmers] Lv.0 직각삼각형 출력하기 문제 "*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요. 입력 3 문제 * ** *** 답 n = int(input()) for i in range(1, n + 1): for j in range(1, i + 1): print("*", end="") print() 💡 더 간결하게. n = int(input()) for i in range(n): print("*" * (i + 1)) 2022. 10. 17.
[코딩테스트/programmers] Lv.0 문자열 정렬하기 (2) 문제 영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 입출력 my_string result "Bcad" "abcd" "heLLo" "ehllo" "Python" "hnopty" 답 def solution(my_string): answer = '' li = [] for i in my_string: li.append(i.lower()) li.sort() for i in li: answer += i return answer 💡 .join( [리스트] ) : 리스트를 문자열로 합치는 함수. 예. [ 'a', 'b', 'c' ] → 'abc' 💡 sorted.. 2022. 10. 15.
[코딩테스트/programmers] Lv.0 옷가게 할인 받기 문제 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다. 구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요. 입출력 price result 150,000 142,500 580,000 464,000 답 import math def solution(price): if price >= 500000: answer = math.trunc(price - price * 0.2) elif price >= 300000: answer = math.trunc(price - price * 0.1) elif price >= 100000: answer = math.trunc(price - pr.. 2022. 10. 15.