#문제1
n일 동안 매일매일의 평균 기온이 순서대로 들어있는 리스트이 있습니다. 이때, A 번째 일과 B 번째 일 사이에서 A, B 번째 일보다 기온이 높았던 날은 총 며칠이었는지 구하려 합니다.
n일 동안 매일매일의 평균 기온이 순서대로 들은 리스트 temperature, 두 날짜를 나타내는 자연수 A, B가 매개변수로 주어질 때, A 번째 일과 B 번째 일 사이에서 두 날짜보다 기온이 높았던 날은 총 며칠인지 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 _한 줄_만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.
매개변수 설명
n일 동안 매일매일의 평균 기온이 순서대로 들은 리스트 temperature, 두 날짜를 나타내는 자연수 A, B가 solution 함수의 매개변수로 주어집니다.
temperature의 길이는 3 이상 30 이하입니다.
temperature의 원소는 -30 이상 50 이하인 정수입니다.
날짜는 0번째 일부터 시작합니다.
즉, temperature의 첫 번째 원소는 0번째 날, 두 번째 원소는 1번째 날 ... 을 의미합니다.
A, B는 날짜를 나타내는 정수이며, 0 이상 (temperature의 길이 - 1) 이하입니다.
A는 B보다 항상 작습니다.
return 값 설명
A 번째 일과 B 번째 일 사이에서 두 날짜보다 기온이 높았던 날은 총 며칠인지 return 해주세요.
예제
temperature
A
B
return
[3, 2, 1, 5, 4, 3, 3, 2]
1
6
2
예제 설명
예제 #1
1번째 날 온도는 2입니다.
6번째 날 온도는 3입니다.
두 날짜 사이에서 두 날짜보다 기온이 높았던 날은 3번째, 4번째 날입니다.
따라서 2를 return 하면 됩니다.
def solution(temperature, A, B):
answer = 0
for i in range(0, len(temperature)):
if temperature[i] > temperature[A] and temperature[i] > temperature[B]:
answer += 1
return answer
아래는 테스트케이스 출력을 해보기 위한 코드입니다. 아래에는 잘못된 부분이 없으니 위의 코드만 수정하세요.
temperature = [3, 2, 1, 5, 4, 3, 3, 2]
A = 1
B = 6
ret = solution(temperature, A, B)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret, "입니다.")
#문제2
한 줄로 서 있는 사람들에게 종이를 다음과 같은 방법으로 나눠주려 합니다.
종이 K 장을 맨 앞사람에게 줍니다.
맨 앞사람은 자신이 필요한만큼 종이를 챙긴 후, 남은 종이를 뒷사람한테 전달합니다.
뒷사람 또한 자신이 필요한만큼 종이를 챙긴 후, 남은 종이를 뒷사람에게 전달합니다.
전달할 종이가 없거나, 모든 사람이 필요한 만큼 종이를 가질 때까지 계속해서 뒷사람에게 남은 종이를 전달합니다.
한 줄로 서 있는 사람들이 각자 필요로 하는 종이 수가 순서대로 들어있는 리스트 papers, papers의 길이 paperslen, 처음에 맨 앞사람에게 전달한 종이 수 K가 매개변수로 주어질 때, 필요한 만큼의 종이를 받은 사람은 모두 몇 명인지 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어 있기 때문에 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 한 줄_만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.
매개변수 설명
한 줄로 서 있는 사람들이 각자 필요로 하는 종이 수가 순서대로 들어있는 리스트 papers, papers의 길이 papers_len, 처음에 맨 앞사람에게 전달한 종이 수 K가 solution 함수의 매개변수로 주어집니다
papers의 각 원소는 1 이상 20 이하인 자연수입니다.
papers_len은 1 이상 20 이하입니다.
K는 1 이상 400 이하인 자연수입니다.
return 값 설명
필요한 만큼의 종이를 받은 사람은 모두 몇 명인지 return 해주세요.
예시
papers
papers_len
K
return
[2, 4, 3, 2, 1]
5
10
3
[2, 4, 3, 2, 1]
5
14
5
예시 설명
예시 #1
맨 앞 사람부터 순서대로 [2장, 4장, 3장, 2장, 1장]의 종이가 필요합니다.
맨 앞사람이 종이 2장을 가지고 남은 8장을 뒷사람에게 넘깁니다.
두 번째 사람이 종이 4장을 가지고 남은 4장을 뒷사람에게 넘깁니다.
세 번째 사람이 종이 3장을 가지고 남은 1장을 뒷사람에게 넘깁니다.
네 번째 사람은 종이 2장이 필요한데 넘어온 종이는 1장이므로 원하는 종이 개수만큼 가질 수 없습니다.
나머지 사람들도 종이를 원하는 개수만큼 가질 수 없습니다.
따라서 필요한 만큼의 종이를 받는 사람은 3명입니다.
예시 #2
모든 사람이 필요한 만큼의 종이를 받을 수 있습니다.
def solution(papers, K):
length = len(papers)
for i, paper in enumerate(papers):
K -= paper
if K < 0:
length = i
return length
아래는 테스트케이스 출력을 해보기 위한 코드입니다. 아래에는 잘못된 부분이 없으니 위의 코드만 수정하세요.
#문제3
단체 유니폼을 주문하려고 합니다. 사람들의 덩치를 수치로 표현할 때 주문해야 하는 유니폼의 사이즈는 다음과 같습니다.
덩치
사이즈
95 미만
S
95 이상 100 미만
M
100 이상 105 미만
L
105 이상
XL
사람들의 덩치를 담은 리스트 people이 매개변수로 주어질 때, 주문해야 하는 유니폼 사이즈의 수를 [S, M, L, XL] 순으로 리스트에 담아 return 하도록 solution 함수를 작성해주세요.
매개변수 설명
사람들의 덩치를 담은 리스트 people이 solution 함수의 매개변수로 주어집니다.
people의 길이는 1 이상 100 이하인 자연수입니다.
사람들의 덩치는 80 이상 120 이하인 자연수입니다.
return 값 설명
주문해야 하는 유니폼 사이즈의 수를 [S, M, L, XL] 순으로 리스트에 담아 return 합니다.
예시
people
return
[97, 102, 93, 100, 107]
[1, 1, 2, 1]
예시 설명
3번째 사람은 S 사이즈를 입어야합니다.
1번째 사람은 M 사이즈를 입어야합니다.
2, 4번째 사람은 L 사이즈를 입어야합니다.
5번째 사람은 XL 사이즈를 입어야합니다.
다음과 같이 import를 사용할 수 있습니다.
import math
def solution(people):
여기에 코드를 작성해주세요.
answer = [0 for _ in range(4)]
return answer
아래는 테스트케이스 출력을 해보기 위한 코드입니다.
people = [97, 102, 93, 100, 107]
ret = solution(people)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은 ", ret, " 입니다.")
#문제4
카드를 3장 뽑아 점수를 내는 게임을 하려고 합니다. 각 카드는 색이 칠해져 있고, 숫자가 적혀 있습니다.
획득한 점수를 계산하는 규칙은 다음과 같습니다.
1. 카드 3장의 색이 모두 같다면 획득한 점수는 적힌 숫자의 총합에 3을 곱한 값입니다.
2. 카드 2장의 색이 같고, 1장의 색이 다르다면 획득한 점수는 적힌 숫자의 총합에 2를 곱한 값입니다.
3. 카드 3장의 색이 모두 다르다면 획득한 점수는 적힌 숫자의 총합입니다.
뽑은 카드의 색과 숫자를 문자열로 담은 2차원 리스트 cards가 매개변수로 주어질 때, 획득한 총 점수를 return 하도록 solution 함수를 작성해주세요.
매개변수 설명
뽑은 카드의 색과 숫자를 문자열로 담은 2차원 리스트 cards가 solution 함수의 매개변수로 주어집니다.
cards는 3x2 크기인 2차원 리스트입니다.
cards의 각 원소는 [색, 숫자] 입니다.
카드의 색은 ["red", "black", "blue"] 중 하나입니다.
카드에 적힌 숫자는 1 이상 9 이하인 자연수입니다.
return 값 설명
획득한 총 점수를 return 합니다.
예제
cards
return
[["blue", "2"], ["red", "5"], ["black", "3"]]
10
[["blue", "2"], ["blue", "5"], ["black", "3"]]
20
예제 설명
예제 #1
모든 카드 색이 모두 다르기 때문에 획득한 점수는 적힌 숫자의 총합인 10 입니다.
예제 #2
두 카드 색이 같고, 1장의 색이 다릅니다. 따라서’ 획득한 점수는 적힌 숫자의 총합에 2를 곱한 20 입니다.
예를 들어, 현재 가진 돈이 8원, 음료수 한 병은 2원이고 n이 4라면 음료수 4개를 살 수 있습니다. 음료수 네개를 다 마신 후, 남은 빈 병 4개를 가져가면 음료수를 한 병 더 받을 수 있습니다. 따라서 8원으로는 음료수를 총 5병 마실 수 있습니다.
가진 돈 money, 음료수 한 병의 가격 price, 음료수 한 병과 교환하는데 필요한 빈 병의 수 n이 매개변수로 주어질 때, 마실 수 있는 총 음료수의 수를 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 _한 줄_만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.
매개변수 설명
가진 돈 money, 음료수 한 병의 가격 price, 음료수 한 병과 교환하는데 필요한 빈 병의 수 n이 solution 함수의 매개변수로 주어집니다.
가진 돈 money는 1 이상 1,000 이하인 자연수입니다.
음료수 한 병의 가격 price는 1 이상 100 이하인 자연수입니다.
음료수 한 병과 교환하는데 필요한 빈 병의 수 n은 3 이상 10 이하인 자연수입니다.
return 값 설명
마실 수 있는 총 음료수의 수를 return 해주세요.
예제
money
price
n
return
8
2
4
5
6
2
2
5
예제 설명
예제 #1
문제에 나온 예와 같습니다.
예제 #2
6원으로 2원짜리 음료수 3개를 삽니다.
음료를 다 마시면 빈 병 3개가 남습니다. 이 중 빈 병 두개를 가져가 새 음료수 한 병과 교환합니다.
음료를 마시면 빈 병 2개가 남습니다. 이를 새 음료수 한 병으로 교환합니다.
따라서 총 6원으로는 음료수 5병을 마실 수 있습니다.
#문제6
X 사이트에서는 회원가입을 할 때 다음의 규칙을 지켜 비밀번호를 생성해야 합니다.
1. 한 개 이상의 알파벳 대문자를 포함해야 합니다.
2. 두 개 이상의 알파벳 소문자를 포함해야 합니다.
3. 두 개 이상의 숫자를 포함해야 합니다.
생성하고자 하는 비밀번호 password가 매개변수로 주어질 때, 생성가능한 비밀번호면 true를 그렇지 않으면 false를 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요.
매개변수 설명
생성하고자 하는 비밀번호 password가 solution 함수의 매개변수로 주어집니다.
password는 알파벳 대문자, 소문자, 숫자로만 이루어진 문자열입니다.
password의 길이는 5 이상 15 이하입니다.
return 값 설명
생성가능한 비밀번호면 true를 그렇지 않으면 false를 return 합니다.
예시
password
return
"helloworld"
false
"Hello123"
true
예시 설명
예시 #1
알파벳 대문자와 숫자를 포함하지 않았습니다.
예시 #2
알파벳 대문자 1개, 알파벳 소문자 4개, 숫자 3개를 포함했으므로 생성할 수 있습니다.
def solution(password):
capital_count, small_count, digit_count = 0, 0, 0
for p in password:
if p >= 'A' and p <= 'Z':
capital_count += 1
elif p >= 'a' and p <= 'z':
small_count += 1
elif p >= @@@ and p <= @@@:
digit_count += 1
if @@@:
answer = True
else:
answer = False
return answer
#문제7
예산 내에서 의자와 책상을 하나씩 사려고 합니다. 이때, 의자와 책상 가격의 합이 가장 크게 사려고 합니다.
예를 들어, 돈을 7원을 가지고 있고 의자의 가격이 [2, 5], 책상의 가격이 [4, 3, 5]일 때, 첫번째 의자와 세번째 책상을 구매하면 가격의 합이 7원이고, 이때 의자와 책상 가격의 합이 가장 큽니다.
예산 money, 의자의 가격이 담긴 리스트 chairs, 책상의 가격이 담긴 리스트 desks가 매개변수로 주어집니다. 이때 예산으로 감당할 수 있는 의자와 책상 가격 합의 최댓값을 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요.
매개변수 설명
예산 money, 의자의 가격이 담긴 리스트 chairs, 책상의 가격이 담긴 리스트 desks가 solution 함수의 매개변수로 주어집니다.
예산 money는 1 이상 1,000 이하인 자연수입니다.
의자와 책상의 가격은 1 이상 1,000 이하인 자연수입니다.
chairs와 desks의 길이는 1 이상 100 이하입니다.
return 값 설명
의자와 책상을 하나씩 살때, 예산으로 감당할 수 있는 의자와 책상 가격 합의 최댓값을 return 합니다.
단, 가지고 있는 금액으로 의자와 책상을 하나씩 살 수 없는 경우에는 0을 return 합니다.
예제
money
chairs
desks
return
7
[2, 5]
[4, 3, 5]
7
7
[3]
[5]
0
예제 설명
예제 #1
문제에 나온 예와 같습니다.
예제 #2
3원짜리 의자와 5원짜리 책상을 구매하면 8원이 듭니다. 이는 예산 7원을 초과하기때문에 0을 return 합니다.
def solution(money, chairs, desks):
answer = 0
for chair in chairs:
for desk in desks:
price = @@@
if answer < price and @@@:
answer = price
return answer
예를 들어, 주어진 수가 120인 경우 이를 뒤집으면 021입니다. 십진수에서 앞의 0은 제거해야하므로 120을 뒤집은 수는 21입니다. 따라서 120과 21의 차는 99 입니다.
이를 계산하기 위해 다음과 같이 프로그램 구조를 작성했습니다.
1. 주어진 수의 자릿수를 구합니다.
2. 구한 자릿수를 이용하여 주어진 수를 거꾸로 뒤집습니다.
3. 주어진 수와 뒤집은 수의 차이를 구합니다.
수 number가 주어질 때, 주어진 수와 주어진 수를 뒤집은 수와의 차를 return 하도록 solution 함수를 작성하려 합니다. 위 구조를 참고하여 코드가 올바르게 동작할 수 있도록 빈칸에 주어진 func_a, func_b, func_c 함수와 매개변수를 알맞게 채워주세요.
매개변수 설명
수 number가 solution 함수의 매개변수로 주어집니다.
수 number는 1 이상 10,000 이하인 정수입니다.
return 값 설명
주어진 수 number와 number를 뒤집은 수와의 차를 return 합니다.
예제
number
return
120
99
23
9
예제 설명
예제 #1
문제에 나온 예와 같습니다.
예제 #2
23을 반대로 뒤집으면 32가 되고 이때 두 수의 차는 9 입니다.
def func_a(number1, number2):
ret = 0
if number1 > number2:
ret = number1 - number2
else:
ret = number2 - number1
return ret
def func_b(number):
ret = 0
while number != 0:
number = number // 10
ret += 1
return ret
def func_c(number, digit):
ret = 0
for i in range(digit):
temp = number % 10
number = number // 10
ret = ret * 10 + temp
return ret
#문제9
다양한 색을 가진 양말 중 같은 색을 가진 양말을 2개씩 묶어 한 쌍을 만드려고 합니다.
예를 들어, 가지고 있는 양말의 색깔이 [빨강, 파랑, 빨강, 노랑, 파랑, 빨강] 이라면 아래 그림과 같이 2쌍을 만들 수 있습니다.
양말 색을 숫자로 표현해서 담은 리스트 socks가 매개변수로 주어질 때, 양말을 몇 쌍 만들 수 있는지 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 _한 줄_만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.
매개변수 설명
양말 색을 숫자로 표현해서 담은 리스트 socks가 solution 함수의 매개변수로 주어집니다.
양말 색은 0 보다 크거나 같고 10 보다 작은 정수로 표현합니다.
양말 수는 1개 이상 100개 이하입니다.
return 값 설명
양말을 몇 쌍 만들 수 있는지 return 합니다.
예시
socks
return
[1, 2, 1, 3, 2, 1]
2
예시 설명
문제에 나온 예와 같습니다.
def solution(socks):
answer = 0
count = [0 for _ in range(10)]
for s in socks:
count[s] += 1
for c in count:
answer += (c % 2)
return answer
아래는 테스트케이스 출력을 해보기 위한 코드입니다. 아래에는 잘못된 부분이 없으니 위의 코드만 수정하세요.
socks = [1, 2, 1, 3, 2, 1]
ret = solution(socks)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret, "입니다.")
#문제10
불량 사과 상자가 몇 박스인지 알아보려 합니다. 사과 한 박스의 표준 무게는 weight이며, 표준 무게와 비교해 무게가 오차 10% 이내인 사과 박스는 정상품으로, 오차가 그보다 많은 사과 박스는 불량품으로 판정합니다.
예를 들어, 표준 무게가 600이라면 무게가 540 이상 660 이하인 사과 상자만 정상품입니다. 판정해야 할 사과 상자의 무게가 각각 [653, 670, 533, 540, 660]로 주어진다면 무게가 670, 533인 상자는 불량품입니다. 따라서 주어진 상자 중 불량품은 2개입니다.
표준 무게 weight와 판정해야 할 사과 상자의 무게가 담긴 리스트 boxes가 매개변수로 주어질 때, 불량품 개수를 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요.
매개변수 설명
표준 무게 weight와 판정해야 할 사과 상자의 무게가 담긴 리스트 boxes가 solution 함수의 매개변수로 주어집니다.
표준 무게는 500 이상 10,000 이하입니다.
표준 무게는 항상 10으로 나누어 떨어집니다.
판정해야 할 사과 상자의 개수는 1개 이상 20개 이하입니다.
판정해야 할 사과 상자의 무게는 400 이상 12,000 이하입니다.
return 값 설명
불량품 개수를 return 해주세요.
예시
weight
boxes
return
600
[653, 670, 533, 540, 660]
2
예시 설명
문제에 나온 예와 같습니다.
def solution(weight, boxes):
answer = 0
for x in boxes:
if @@@:
answer += 1
return answer
#문제1 n일 동안 매일매일의 평균 기온이 순서대로 들어있는 리스트이 있습니다. 이때, A 번째 일과 B 번째 일 사이에서 A, B 번째 일보다 기온이 높았던 날은 총 며칠이었는지 구하려 합니다.
n일 동안 매일매일의 평균 기온이 순서대로 들은 리스트 temperature, 두 날짜를 나타내는 자연수 A, B가 매개변수로 주어질 때, A 번째 일과 B 번째 일 사이에서 두 날짜보다 기온이 높았던 날은 총 며칠인지 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 _한 줄_만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.
매개변수 설명
n일 동안 매일매일의 평균 기온이 순서대로 들은 리스트 temperature, 두 날짜를 나타내는 자연수 A, B가 solution 함수의 매개변수로 주어집니다.
return 값 설명
A 번째 일과 B 번째 일 사이에서 두 날짜보다 기온이 높았던 날은 총 며칠인지 return 해주세요.
예제
예제 설명
예제 #1
따라서 2를 return 하면 됩니다.
def solution(temperature, A, B): answer = 0 for i in range(0, len(temperature)): if temperature[i] > temperature[A] and temperature[i] > temperature[B]: answer += 1 return answer
아래는 테스트케이스 출력을 해보기 위한 코드입니다. 아래에는 잘못된 부분이 없으니 위의 코드만 수정하세요.
temperature = [3, 2, 1, 5, 4, 3, 3, 2] A = 1 B = 6 ret = solution(temperature, A, B)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret, "입니다.")
#문제2 한 줄로 서 있는 사람들에게 종이를 다음과 같은 방법으로 나눠주려 합니다.
한 줄로 서 있는 사람들이 각자 필요로 하는 종이 수가 순서대로 들어있는 리스트 papers, papers의 길이 paperslen, 처음에 맨 앞사람에게 전달한 종이 수 K가 매개변수로 주어질 때, 필요한 만큼의 종이를 받은 사람은 모두 몇 명인지 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어 있기 때문에 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 한 줄_만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.
매개변수 설명
한 줄로 서 있는 사람들이 각자 필요로 하는 종이 수가 순서대로 들어있는 리스트 papers, papers의 길이 papers_len, 처음에 맨 앞사람에게 전달한 종이 수 K가 solution 함수의 매개변수로 주어집니다
return 값 설명
필요한 만큼의 종이를 받은 사람은 모두 몇 명인지 return 해주세요.
예시
예시 설명
예시 #1
맨 앞 사람부터 순서대로 [2장, 4장, 3장, 2장, 1장]의 종이가 필요합니다.
따라서 필요한 만큼의 종이를 받는 사람은 3명입니다.
예시 #2
모든 사람이 필요한 만큼의 종이를 받을 수 있습니다.
def solution(papers, K): length = len(papers) for i, paper in enumerate(papers): K -= paper if K < 0: length = i return length
아래는 테스트케이스 출력을 해보기 위한 코드입니다. 아래에는 잘못된 부분이 없으니 위의 코드만 수정하세요.
papers1 = [2, 4, 2, 3, 1] K1 = 10 ret1 = solution(papers1, K1)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret1, "입니다.")
papers2 = [2, 4, 2, 3, 1] K2 = 14 ret2 = solution(papers2, K2)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret2, "입니다.")
#문제3 단체 유니폼을 주문하려고 합니다. 사람들의 덩치를 수치로 표현할 때 주문해야 하는 유니폼의 사이즈는 다음과 같습니다.
사람들의 덩치를 담은 리스트 people이 매개변수로 주어질 때, 주문해야 하는 유니폼 사이즈의 수를 [S, M, L, XL] 순으로 리스트에 담아 return 하도록 solution 함수를 작성해주세요.
매개변수 설명
사람들의 덩치를 담은 리스트 people이 solution 함수의 매개변수로 주어집니다.
return 값 설명
주문해야 하는 유니폼 사이즈의 수를 [S, M, L, XL] 순으로 리스트에 담아 return 합니다.
예시
예시 설명
3번째 사람은 S 사이즈를 입어야합니다. 1번째 사람은 M 사이즈를 입어야합니다. 2, 4번째 사람은 L 사이즈를 입어야합니다. 5번째 사람은 XL 사이즈를 입어야합니다.
다음과 같이 import를 사용할 수 있습니다.
import math
def solution(people):
여기에 코드를 작성해주세요.
아래는 테스트케이스 출력을 해보기 위한 코드입니다.
people = [97, 102, 93, 100, 107] ret = solution(people)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은 ", ret, " 입니다.")
#문제4 카드를 3장 뽑아 점수를 내는 게임을 하려고 합니다. 각 카드는 색이 칠해져 있고, 숫자가 적혀 있습니다.
획득한 점수를 계산하는 규칙은 다음과 같습니다.
뽑은 카드의 색과 숫자를 문자열로 담은 2차원 리스트 cards가 매개변수로 주어질 때, 획득한 총 점수를 return 하도록 solution 함수를 작성해주세요.
매개변수 설명
뽑은 카드의 색과 숫자를 문자열로 담은 2차원 리스트 cards가 solution 함수의 매개변수로 주어집니다.
return 값 설명
획득한 총 점수를 return 합니다.
예제
예제 설명
예제 #1 모든 카드 색이 모두 다르기 때문에 획득한 점수는 적힌 숫자의 총합인 10 입니다.
예제 #2 두 카드 색이 같고, 1장의 색이 다릅니다. 따라서’ 획득한 점수는 적힌 숫자의 총합에 2를 곱한 20 입니다.
다음과 같이 import를 사용할 수 있습니다.
import math
def solution(cards):
여기에 코드를 작성해주세요.
아래는 테스트케이스 출력을 해보기 위한 코드입니다.
cards1 = [["blue", "2"], ["red", "5"], ["black", "3"]] ret1 = solution(cards1)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret1, "입니다.")
cards2 = [["blue", "2"], ["blue", "5"], ["black", "3"]] ret2 = solution(cards2)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret2, "입니다.")
#문제5 X 마트에서는 빈 병 n개와 음료수 한 병을 교환해줍니다.
예를 들어, 현재 가진 돈이 8원, 음료수 한 병은 2원이고 n이 4라면 음료수 4개를 살 수 있습니다. 음료수 네개를 다 마신 후, 남은 빈 병 4개를 가져가면 음료수를 한 병 더 받을 수 있습니다. 따라서 8원으로는 음료수를 총 5병 마실 수 있습니다.
가진 돈 money, 음료수 한 병의 가격 price, 음료수 한 병과 교환하는데 필요한 빈 병의 수 n이 매개변수로 주어질 때, 마실 수 있는 총 음료수의 수를 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 _한 줄_만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.
매개변수 설명
가진 돈 money, 음료수 한 병의 가격 price, 음료수 한 병과 교환하는데 필요한 빈 병의 수 n이 solution 함수의 매개변수로 주어집니다.
return 값 설명
마실 수 있는 총 음료수의 수를 return 해주세요.
예제
예제 설명
예제 #1 문제에 나온 예와 같습니다.
예제 #2
def solution(money, price, n): answer = 0 empty_bottle = answer = money // price while n <= empty_bottle: empty_bottle = empty_bottle + n answer += 1 empty_bottle += 1 return answer
아래는 테스트케이스 출력을 해보기 위한 코드입니다. 아래에는 잘못된 부분이 없으니 위의 코드만 수정하세요.
money1 = 8 price1 = 2 n1 = 4 ret1 = solution(money1, price1, n1)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret1, "입니다.")
money2 = 6 price2 = 2 n2 = 2 ret2 = solution(money2, price2, n2)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret2, "입니다.")
#문제6 X 사이트에서는 회원가입을 할 때 다음의 규칙을 지켜 비밀번호를 생성해야 합니다.
생성하고자 하는 비밀번호 password가 매개변수로 주어질 때, 생성가능한 비밀번호면 true를 그렇지 않으면 false를 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요.
매개변수 설명
생성하고자 하는 비밀번호 password가 solution 함수의 매개변수로 주어집니다.
return 값 설명
생성가능한 비밀번호면 true를 그렇지 않으면 false를 return 합니다.
예시
예시 설명
예시 #1 알파벳 대문자와 숫자를 포함하지 않았습니다.
예시 #2 알파벳 대문자 1개, 알파벳 소문자 4개, 숫자 3개를 포함했으므로 생성할 수 있습니다.
def solution(password): capital_count, small_count, digit_count = 0, 0, 0 for p in password: if p >= 'A' and p <= 'Z': capital_count += 1 elif p >= 'a' and p <= 'z': small_count += 1 elif p >= @@@ and p <= @@@: digit_count += 1 if @@@: answer = True else: answer = False return answer
아래는 테스트케이스 출력을 해보기 위한 코드입니다.
password1 = "helloworld" ret1 = solution(password1)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret1, "입니다.")
password2 = "Hello123" ret2 = solution(password2)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret2, "입니다.")
#문제7 예산 내에서 의자와 책상을 하나씩 사려고 합니다. 이때, 의자와 책상 가격의 합이 가장 크게 사려고 합니다.
예를 들어, 돈을 7원을 가지고 있고 의자의 가격이 [2, 5], 책상의 가격이 [4, 3, 5]일 때, 첫번째 의자와 세번째 책상을 구매하면 가격의 합이 7원이고, 이때 의자와 책상 가격의 합이 가장 큽니다.
예산 money, 의자의 가격이 담긴 리스트 chairs, 책상의 가격이 담긴 리스트 desks가 매개변수로 주어집니다. 이때 예산으로 감당할 수 있는 의자와 책상 가격 합의 최댓값을 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요.
매개변수 설명
예산 money, 의자의 가격이 담긴 리스트 chairs, 책상의 가격이 담긴 리스트 desks가 solution 함수의 매개변수로 주어집니다.
return 값 설명
의자와 책상을 하나씩 살때, 예산으로 감당할 수 있는 의자와 책상 가격 합의 최댓값을 return 합니다.
예제
예제 설명
예제 #1 문제에 나온 예와 같습니다.
예제 #2 3원짜리 의자와 5원짜리 책상을 구매하면 8원이 듭니다. 이는 예산 7원을 초과하기때문에 0을 return 합니다.
def solution(money, chairs, desks): answer = 0 for chair in chairs: for desk in desks: price = @@@ if answer < price and @@@: answer = price return answer
아래는 테스트케이스 출력을 해보기 위한 코드입니다.
money1 = 7 chairs1 = [2, 5] desks1 = [4, 3, 5] ret1 = solution(money1, chairs1, desks1)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret1, "입니다.")
money2 = 7 chairs2 = [3] desks2 = [5] ret2 = solution(money2, chairs2, desks2)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret2, "입니다.")
#문제8 주어진 수와 주어진 수를 뒤집은 수와의 차를 계산하려고 합니다.
예를 들어, 주어진 수가 120인 경우 이를 뒤집으면 021입니다. 십진수에서 앞의 0은 제거해야하므로 120을 뒤집은 수는 21입니다. 따라서 120과 21의 차는 99 입니다.
이를 계산하기 위해 다음과 같이 프로그램 구조를 작성했습니다.
수 number가 주어질 때, 주어진 수와 주어진 수를 뒤집은 수와의 차를 return 하도록 solution 함수를 작성하려 합니다. 위 구조를 참고하여 코드가 올바르게 동작할 수 있도록 빈칸에 주어진 func_a, func_b, func_c 함수와 매개변수를 알맞게 채워주세요.
매개변수 설명
수 number가 solution 함수의 매개변수로 주어집니다.
return 값 설명
주어진 수 number와 number를 뒤집은 수와의 차를 return 합니다.
예제
예제 설명
예제 #1 문제에 나온 예와 같습니다.
예제 #2 23을 반대로 뒤집으면 32가 되고 이때 두 수의 차는 9 입니다.
def func_a(number1, number2): ret = 0 if number1 > number2: ret = number1 - number2 else: ret = number2 - number1 return ret
def func_b(number): ret = 0 while number != 0: number = number // 10 ret += 1 return ret
def func_c(number, digit): ret = 0 for i in range(digit): temp = number % 10 number = number // 10 ret = ret * 10 + temp return ret
def solution(number): answer = 0 digit = func_@@@(@@@) convertnumber = func@@@(@@@) answer = func_@@@(@@@) return answer
아래는 테스트케이스 출력을 해보기 위한 코드입니다.
number1 = 120 ret1 = solution(number1)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret1, "입니다.")
number2 = 23 ret2 = solution(number2)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 깂은", ret2, "입니다.")
#문제9 다양한 색을 가진 양말 중 같은 색을 가진 양말을 2개씩 묶어 한 쌍을 만드려고 합니다.
예를 들어, 가지고 있는 양말의 색깔이 [빨강, 파랑, 빨강, 노랑, 파랑, 빨강] 이라면 아래 그림과 같이 2쌍을 만들 수 있습니다.
양말 색을 숫자로 표현해서 담은 리스트 socks가 매개변수로 주어질 때, 양말을 몇 쌍 만들 수 있는지 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 _한 줄_만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.
매개변수 설명
양말 색을 숫자로 표현해서 담은 리스트 socks가 solution 함수의 매개변수로 주어집니다.
return 값 설명
양말을 몇 쌍 만들 수 있는지 return 합니다.
예시
예시 설명
문제에 나온 예와 같습니다.
def solution(socks): answer = 0 count = [0 for _ in range(10)] for s in socks: count[s] += 1 for c in count: answer += (c % 2) return answer
아래는 테스트케이스 출력을 해보기 위한 코드입니다. 아래에는 잘못된 부분이 없으니 위의 코드만 수정하세요.
socks = [1, 2, 1, 3, 2, 1] ret = solution(socks)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret, "입니다.")
#문제10 불량 사과 상자가 몇 박스인지 알아보려 합니다. 사과 한 박스의 표준 무게는 weight이며, 표준 무게와 비교해 무게가 오차 10% 이내인 사과 박스는 정상품으로, 오차가 그보다 많은 사과 박스는 불량품으로 판정합니다.
예를 들어, 표준 무게가 600이라면 무게가 540 이상 660 이하인 사과 상자만 정상품입니다. 판정해야 할 사과 상자의 무게가 각각 [653, 670, 533, 540, 660]로 주어진다면 무게가 670, 533인 상자는 불량품입니다. 따라서 주어진 상자 중 불량품은 2개입니다.
표준 무게 weight와 판정해야 할 사과 상자의 무게가 담긴 리스트 boxes가 매개변수로 주어질 때, 불량품 개수를 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요.
매개변수 설명
표준 무게 weight와 판정해야 할 사과 상자의 무게가 담긴 리스트 boxes가 solution 함수의 매개변수로 주어집니다.
return 값 설명
불량품 개수를 return 해주세요.
예시
예시 설명
문제에 나온 예와 같습니다.
def solution(weight, boxes): answer = 0 for x in boxes: if @@@: answer += 1 return answer
아래는 테스트케이스 출력을 해보기 위한 코드입니다.
weight = 600 boxes = [653, 670, 533, 540, 660] ret = solution(weight, boxes)
[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret, "입니다.")