Programming language/Python

COS Pro 2급 python 1차

jino22 2022. 5. 23. 09:43

문제 1 (구현)

A 학교에서는 단체 티셔츠를 주문하기 위해 학생별로 원하는 티셔츠 사이즈를 조사했습니다. 선택할 수 있는 티셔츠 사이즈는 작은 순서대로 "XS", "S", "M", "L", "XL", "XXL" 총 6종류가 있습니다.

학생별로 원하는 티셔츠 사이즈를 조사한 결과가 들어있는 리스트 shirt_size가 매개변수로 주어질 때, 사이즈별로 티셔츠가 몇 벌씩 필요한지 가장 작은 사이즈부터 순서대로 리스트에 담아 return 하도록 solution 함수를 완성해주세요.

매개변수 설명

학생별로 원하는 사이즈를 조사한 결과가 들어있는 리스트 shirtsize가 solution 함수의 매개변수로 주어집니다. *shirtsize 의 길이는 1 이상 100 이하입니다. * shirt_size 에는 치수를 나타내는 문자열 "XS", "S", "M", "L", "XL","XXL" 이 들어있습니다.

return 값 설명

티셔츠가 사이즈별로 몇 벌씩 필요한지 가장 작은 사이즈부터 순서대로 리스트에 담아 return 해주세요. * return 하는 리스트에는 [ "XS" 개수, "S" 개수, "M" 개수, "L" 개수, "XL" 개수, "XXL" 개수] 순서로 들어있어야 합니다.

 

예시

shirt_size
return
["XS", "S", "L", "L", "XL", "S"]
[1, 2, 0, 2, 1, 0]

정답 코드


문제 2 (구현)

A 쇼핑몰에서는 회원 등급에 따라 할인 서비스를 제공합니다. 회원 등급에 따른 할인율은 다음과 같습니다. (S = 실버, G =골드, V = VIP)

등급
할인율
"S"
5%
"G"
10%
"V"
15%

상품의 가격 price와 구매자의 회원 등급을 나타내는 문자열 grade가 매개변수로 주어질 때, 할인 서비스를 적용한 가격을 return 하도록 solution 함수를 완성해주세요.

매개변수 설명

상품의 가격 price와 회원 등급 grade가 매개변수로 주어집니다. * price는 100 이상 100,000 이하의 100단위 자연수입니다. * grade는 "S", "G", "V" 세 가지 중 하나입니다.

return 값 설명

할인한 가격을 return 하도록 solution 함수를 작성해주세요.

예시 및 설명

price
grade
return
2500
"V"
2125
96900
"S"
92055

 

정답 코드


문제 3 (빈칸)

시작 날짜와 끝 날짜가 주어질 때, 두 날짜가 며칠만큼 떨어져 있는지(D-day)를 구하려 합니다. 이를 위해 다음과 같이 3단계로 간단히 프로그램 구조를 작성했습니다. (단, 윤년은 고려하지 않습니다.)

1단계. 시작 날짜가 1월 1일로부터 며칠만큼 떨어져 있는지 구합니다.
2단계. 끝 날짜가 1월 1일로부터 며칠만큼 떨어져 있는지 구합니다.
3단계. (2단계에서 구한 날짜) - (1단계에서 구한 날짜)를 구합니다.

시작 날짜의 월, 일을 나타내는 startmonth, startday, 끝 날짜의 월, 일을 나타내는 endmonth, endday가 매개변수로 주어질 때, 시작 날짜와 끝 날짜가 며칠만큼 떨어져 있는지 return 하도록 solution 함수를 작성했습니다. 이때, 위 구조를 참고하여 중복되는 부분은 func_a라는 함수로 작성했습니다. 코드가 올바르게 동작할 수 있도록 빈칸을 알맞게 채워주세요.

매개변수 설명

시작 날짜의 월, 일을 나타내는 startmonth, startday, 끝 날짜의 월, 일을 나타내는 endmonth, endday가 solution 함수의 매개변수로 주어집니다.

● 잘못된 날짜가 주어지는 경우는 없습니다.

● 끝 날짜는 항상 시작 날짜보다 뒤에 있는 날이 주어집니다.

● 끝 날짜가 다음 해로 넘어가는 경우는 주어지지 않습니다.

· 즉, startmonth <= endmonth를 항상 만족합니다.

· startmonth = endmonth라면 startday <= endday를 항상 만족합니다.

● 각 달의 날짜 수는 1월부터 순서대로 [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] 이며, 윤년은 고려하지 않습니다.

return 값 설명

시작 날짜와 끝 날짜가 며칠만큼 떨어져 있는지 return 해주세요.

정답 코드


문제 4 (빈칸)

자연수가 들어있는 리스트가 있습니다. 이 리스트에서 가장 많이 등장하는 숫자의 개수는 가장 적게 등장하는 숫자 개수의 몇 배인지 구하려 합니다. 이를 위해 다음과 같이 간단히 프로그램 구조를 작성했습니다.

1단계. 리스트에 들어있는 각 자연수의 개수를 셉니다.
2단계. 가장 많이 등장하는 수의 개수를 구합니다.
3단계. 가장 적게 등장하는 수의 개수를 구합니다.
4단계. 가장 많이 등장하는 수가 가장 적게 등장하는 수보다 몇 배 더 많은지 구합니다.

단, 몇 배 더 많은지 구할 때는 소수 부분은 버리고 정수 부분만 구하면 됩니다.

자연수가 들어있는 리스트 arr가 매개변수로 주어질 때, 가장 많이 등장하는 숫자가 가장 적게 등장하는 숫자보다 몇 배 더 많은지 return 하도록 solution 함수를 작성하려 합니다. 위 구조를 참고하여 코드가 올바르게 동작할 수 있도록 빈칸에 주어진 funca, funcb, func_c 함수와 매개변수를 알맞게 채워주세요.

매개변수 설명

자연수가 들어있는 리스트 arr가 solution 함수의 매개변수로 주어집니다. * arr의 길이는 3 이상 1,000 이하입니다. * arr에는 1 이상 1,000이하의 자연수가 들어있습니다.

return 값 설명

리스트에서 가장 많이 등장하는 숫자가 가장 적게 등장하는 숫자보다 몇 배 이상 많은지 return 해주세요.

● 가장 많이 들어있는 수의 개수와 가장 적게 들어있는 수의 개수가 같은 경우에는 1을 return 합니다.

예시 및 설명

arr
return
[1,2,3,3,1,3,3,2,3,2]
2

정답 코드


문제 5 (빈칸)

주어진 리스트의 순서를 뒤집으려고 합니다.

예를 들어 주어진 리스트가 [1, 4, 2, 3]이면, 순서를 뒤집은 리스트는 [3, 2, 4, 1]입니다.

정수가 들어있는 리스트 arr가 매개변수로 주어졌을 때, arr를 뒤집어서 return 하도록 solution 함수를 작성하려 합니다.

빈칸을 채워 전체 코드를 완성해주세요.

매개변수 설명

정수가 들어있는 리스트 arr가 solution 함수의 매개변수로 주어집니다. * arr의 길이는 1 이상 100 이하입니다. * arr의 원소는 -100 이상 100 이하의 정수입니다.

return 값 설명

리스트 arr의 순서를 뒤집어서 return 해주세요.

예시 및 설명

arr
return
[1, 4, 2, 3]
[3, 2, 4, 1]

정답 코드

728x90
반응형