
[COS PRO 2급-Python] 단체 티셔츠 주문하기
A 학교에는 단체 티셔츠를 주문하기 위해 학생별로 원하는 티셔츠 사이즈를 조사했습니다. 선택할 수 있는 사이즈는 작은 순서대로 "XS","S","M","L","XL","XXL" 총 6종류가 있습니다. 학생별로 원하느 닡셔츠 사이즈를 조사한 결과가 들어있는 배열 shirtsize와 shirtsize의 길이 shirtsizelen이 매개변수로 주어질 때, 사이즈별로 티셔츠가 몇 벌씩 필요한지 가장 작은 사이즈부터 순서대로 배열에 담아 return 하도록 solution 함수를 완성해 주세요.
학생별로 원하는 사이즈를 조사한 결과가 들어있는 배열 shirtsize와 shirtsize의 길이 shirtsizelen이 solution 함수의 매개변수로 주어집니다. shirtsizelen은 1 이상 100이하의 자연수입니다. shirt_size 에는 치수를 나타내는 문자열 "XS","S","M","XL","XXL"이 들어있습니다.
티셔츠가 사이즈별로 몇 벌씩 필요한지 가장 작은 사이즈부터 순서대로 배열에 담아 return 해주세요. * return 하는 배열에는 ["XS"개수, "S"개수, "M"개수, "L"개수, "XL"개수, "XXL" 개수] 순서로 들어있어야 합니다.

▶ answer 배열을 만들고
▶ shirt_size만큼 for문을 돌려서
▶ if문으로 count를 하자!
# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean
def solution(shirt_size):
answer = [0, 0, 0, 0, 0, 0]
for i in shirt_size:
if i == "XS":
answer[0] += 1
elif i == "S":
answer[1] += 1
elif i == "M":
answer[2] += 1
elif i == "L":
answer[3] += 1
elif i == "XL":
answer[4] += 1
elif i == "XXL":
answer[5] += 1
return answer
def solution(shirt_size):
answer = [0] * 6
sizelist = ['XS', 'S', 'M', 'L', 'XL', 'XXL']
for i in range(len(shirt_size)):
for j in range(len(sizelist)):
if shirt_size[i] == sizelist[j]:
answer[j] += 1
break
return answer
중첩 for문과 if문을 이용해 간단하게 나타냈다.
같은 문제를 다른 두 방법으로 푼 것 같습니다!
코드는 짧고 간결하다고 좋은 것이 아닌 시간 복잡도를 생각하여 어느 코드가 더 좋은 생각해 보는 것이 좋을 것 같네요~!