본문 바로가기

Python_Matter/COS Pro

YBM Python Test Level 2 - 티셔츠별로 세기

반응형

Q>

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]

 

- 예시 설명

'XS'와 'XL'은 각각 한 명씩 신청했습니다.

'S'와 'L'은 각각 두 명씩 신청했습니다.

'M'과 'XXL'을 신청한 학생은 없습니다.

 

따라서 순서대로 [1, 2, 0, 2, 1, 0]을 리스트에 담아 return 하면 됩니다.

 

A>

def solution(shirt_size):
    size_counter = [0 for _ in range(6)]
    for size in shirt_size:
        if size == "XS":
            size_counter[0] += 1
        elif size == 'S':
            size_counter[1] += 1
        elif size == 'M':
            size_counter[2] += 1
        elif size == 'L':
            size_counter[3] += 1
        elif size == 'XL':
            size_counter[4] += 1
        elif size == 'XXL':
            size_counter[5] += 1
    return size_counter
    
shirt_size = ["XS", "S", "L", "L", "XL", "S"]
ret = solution(shirt_size)

print(ret)

 

A1>

def solution(shirt_size):
    size_counter = []
    for i in range(0, 6):
        size_counter.append(i * 0)
    for size in shirt_size:
        if size == "XS":
            size_counter[0] += 1
        elif size == 'S':
            size_counter[1] += 1
        elif size == 'M':
            size_counter[2] += 1
        elif size == 'L':
            size_counter[3] += 1
        elif size == 'XL':
            size_counter[4] += 1
        elif size == 'XXL':
            size_counter[5] += 1
    return size_counter

shirt_size = ["XS", "S", "L", "L", "XL", "S"]
ret = solution(shirt_size)

 

W>

size_counter = [0 for _ in range(6)]

 

size_counter = []
for i in range(0, 6):
	size_counter.append(i * 0)

두 가지의 방법으로 사용할 수 있다.

 

위의 방법은 파이썬의 언더스코어 방법이다.

 

언더스코어 사용 이유는 아래와 같다.

  • 인터프리터에서 마지막 값을 저장할 때
  • 값을 무시하고 싶을 때
  • 변수나 함수명에 특별한 의미 또는 기능을 부여하고자 할 때
  • 국제화 / 지역화 함수로써 사용할 때
  • 숫자 리터럴값의 자릿수 구분을 위한 구분자로써 사용할 때

['XS' 개수, 'S' 개수, 'M' 개수, 'L' 개수, 'XL' 개수, 'XXL' 개수] 를 구해야되므로 리스트에 각 0을 입력 해야된다.

 

그러므로 [0, 0, 0, 0, 0, 0] 이 형식이 된다.

 

이 리스트에는 0 ~ 5번까지 'XS', 'S', 'M', 'L', 'XL', 'XXL' 를 카운트하는 방식이다.

 

마지막에 return은 셔츠 별 숫자를 더한 값의 리스트를 출력하는 구조이다.

 

F>

2급_1_initial_code.py
0.00MB

 

#> https://www.ybmit.com/cos_pro/cos_pro_r_test.jsp

 

반응형