edu.goorm.io/learn/lecture/17033/cos-pro-2%EA%B8%89-%EA%B8%B0%EC%B6%9C%EB%AC%B8%EC%A0%9C-python
๊ตฌ๋ฆHOME
๊ตฌ๋ฆ์ ํด๋ผ์ฐ๋ ๊ธฐ์ ์ ์ด์ฉํ์ฌ ๋๊ตฌ๋ ์ฝ๋ฉ์ ๋ฐฐ์ฐ๊ณ , ์ค๋ ฅ์ ํ๊ฐํ๊ณ , ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ ์ ์๋ ํด๋ผ์ฐ๋ ์ํํธ์จ์ด ์ํ๊ณ์ ๋๋ค.
www.goorm.io
๐ ๋ฌธ์ ์ค๋ช
ํด๋น ๋ฌธ์ ๋ shirt_size ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฅ๋ฐ๊ณ , ๊ฐ ์ฌ์ด์ฆ๋ณ๋ก ๋ช ๊ฐ๊ฐ ์๋์ง๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ ๋๋ค.
์ดํด๋ฅผ ๋๊ธฐ ์ํด ๋ฌธ์ ์์ ์ ์๋ ์์๊ฐ ์๋ ๋ค๋ฅธ ์๋ฅผ ๋ค์ด๋ณผ๊ฒ์.
[ ๋งค๊ฐ๋ณ์ ์ค๋ช ]
๋งค๊ฐ๋ณ์๋ ์ด๋ค ํจ์๋ฅผ ํธ์ถํ ๋ ๋๊ฒจ์ฃผ๋ ๊ฐ์ด์์.
์ด ๋ฌธ์ ์์๋ ๋งค๊ฐ๋ณ์๋ก shirt_size ๋ผ๋ ๋ฆฌ์คํธ๋ฅผ ๋ฐ์์.
์ฌ๊ธฐ์๋ ๋ฌด์์ ์์์ ์ท ์ฌ์ด์ฆ๋ค์ด ์ ์ฅ๋์ด ์์ด์.
[ return ๊ฐ ์ค๋ช ]
return ๊ฐ์ ํจ์๊ฐ ํธ์ถ๋์ด ์ฝ๋๋ฅผ ์คํํ๊ณ ๋ ๋ค, ๋จ๊ธฐ๋ ๊ฐ์ด์์.
์ฌ๊ธฐ์์๋ ๊ฐ ์ฌ์ด์ฆ๋ณ ๊ฐ์๋ฅผ ์ ์ฅํด์ ๋จ๊ธฐ๋ผ๊ณ ํ๊ณ ์์ด์
๋ง์ฝ, shirt_size ๋ฆฌ์คํธ์ ["S", "L", "S", "XXL", "XS", "L"]๊ฐ ์๋ค๋ฉด, ๋ค์๊ณผ ๊ฐ์ด ์ ๋ฆฌํ ์ ์์ด์.
XS : 1๊ฐ
S : 2๊ฐ
M : 0๊ฐ
L : 2๊ฐ
XL : 0๊ฐ
XXL : 1๊ฐ
๊ทธ๋ผ, ์ฌ๊ธฐ์์ ์ค๋ฅธ์ชฝ์ ์๋ ๊ฐ์๋ง ๋ฆฌ์คํธ์ ๋ด์ ๋ณด์ฌ์ฃผ๋ฉด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ด์.
[1, 2, 0, 2, 0, 1] ๊ณผ ๊ฐ์ ํํ์ ๋ฆฌ์คํธ๋ฅผ ๋ฐํ(return) ํด์ฃผ๋ฉด ๋ผ์.
๊ทธ๋ผ ํด๋น ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํ ์์๋ค์ ๋ง๋ก ์ดํดํ๊ธฐ ์ฝ๊ฒ ์ ๋ฆฌํด๋ณผ๊ฒ์.
1. ๊ฐ ์ฌ์ด์ฆ์ ๊ฐ์๋ฅผ ์ ์ฅํ ๊ณต๊ฐ์ ๋ง๋ ๋ค.
2. shirt_size์ ์๋ ์ฌ์ด์ฆ๋ฅผ ํ๋์ฉ ๊ฐ์ ธ์จ๋ค.
3. ๊ฐ์ ธ์จ ์ฌ์ด์ฆ๊ฐ ์ด๋ค ์ฌ์ด์ฆ์ธ์ง ํ์ธํ๋ค.
--> ๋ง์ฝ, ๊ฐ์ ธ์จ ์ฌ์ด์ฆ๊ฐ S๋ผ๋ฉด ๋ฆฌ์คํธ์ ๋๋ฒ์งธ ์์. ์ฆ, ์ธ๋ฑ์ค 1์ธ ์๋ฆฌ์ ๊ฐฏ์๋ฅผ ํ๋ ๋ํด์ฃผ๋ฉด ๋ผ์.
--> ๋ฆฌ์คํธ์ ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋ฏ๋ก, ๋๋ฒ์งธ ์นธ์ด์ง๋ง, ์ธ๋ฑ์ค ๊ฐ์ 1์ด์์ !
4. ๊ฒฐ๊ณผ๊ฐ ๋ด๊ธด ๋ฆฌ์คํธ๋ฅผ ๋ฐํ(return)ํ๋ค.
๊ทธ๋ผ ์ด๋ฒ์๋, ์ด๋ ๊ฒ ๋ง๋ก ์ ์ ์์๋ค์ ์ฝ๋์ ๊ด๋ จ์ง์ด ์ฐจ๊ทผ์ฐจ๊ทผ ์ค๋ช ํด๋ณผ๊ฒ์.
1. ๊ฐ ์ฌ์ด์ฆ์ ๊ฐ์๋ฅผ ์ ์ฅํ ๊ณต๊ฐ์ ๋ง๋ ๋ค.
์ฝ๋๋ฅผ ์งค ๋๋ ํ์ํ ๋ณ์๋ค์ ๊ฐ์ฅ ๋จผ์ ์ ์ธํด์ฃผ๋ ๊ฒ์ด ์ข์์.
์ฐ๋ฆฌ๋ ๊ฐ ์ฌ์ด์ฆ๋ณ๋ก ๋ถ๋ฅํ๊ณ , ํด๋น ์ฌ์ด์ฆ๊ฐ ์ด ๋ช๊ฐ ํ์ํ์ง ๊ตฌํด์ผ ํ๋ฏ๋ก, ๊ฐ ์ฌ์ด์ฆ ๋ณ ์๋์ ๋ง๋ค๊ฑฐ์์.
์๋์ ์์๋ XS, S, M, L, XL, XXL ์ ์์๋ก ๋์ด๋์ด ์์ด์.
์ด ๋, ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋ฏ๋ก, S ์ฌ์ด์ฆ์ธ ์ท์ ๋ง๋ฌ๋ค๋ฉด, ์ธ๋ฑ์ค๊ฐ 1์ธ ์๋์ 1์ ๋ํด์ฃผ๋ฉด ๋ผ์.
๊ทธ๋ผ, ๊ฐ ๊ณต๊ฐ์ ๋ง๋ค๊ณ , ์์ง์ ์๋ฌด๊ฒ๋ ์ธ์ง ์์์ผ๋ฏ๋ก ๊ฐ์๋ฅผ ๋ชจ๋ 0์ผ๋ก ์ค์ ํด์ค๊ฒ์.
answer = [0, 0, 0, 0, 0, 0]
# XS, S, M, L, XL, XXL
2. shirt_size์ ์๋ ์ฌ์ด์ฆ๋ฅผ ํ๋์ฉ ๊ฐ์ ธ์จ๋ค.
์ด๋ฅผ ์ํํ๋ ค๋ฉด, shirt_size๋ผ๋ ๋ฆฌ์คํธ์ ์๋ ์์๋ค์ ํ๋์ฉ ๊ฐ์ ธ์์ผ ํด์.
์ด๋ ๊ฒ ํ๋์ฉ ๊ฐ์ ธ์ค๋ ค๋ฉด, ์ฐ๋ฆฌ๋ '๋ฐ๋ณต'์ ์ฌ์ฉํ ์ ์์ด์.
'๋ฐ๋ณต'๋ฌธ์ ํฌ๊ฒ for๋ฌธ๊ณผ while๋ฌธ์ด ์๋๋ฐ์, ์ ๋ฌธ์ ์ ๊ฐ์ ๊ฒฝ์ฐ, size_shirt์ ์๋ ๊ฒ๋ค์ ๋ชจ๋ ํ์ธํ๊ณ ๋๋ฉด ๋๋ด๋ ๋๋ฏ๋ก ์ข ๋ฃ ์ง์ ์ด ๋ช ํํด์.
์ด์ฒ๋ผ ์ข ๋ฃ ์ง์ ์ด ๋ช ํํ ๊ฒฝ์ฐ์๋ for๋ฌธ์ ์ฐ๋ ๊ฒ์ด ์ข์์.
์ฌ๊ธฐ์์ ์ข ๋ฃ์ง์ ์ size_shirt์ ๋ด์ฉ ๊ฐฏ์๋งํผ ๋ณด๋ฉด ๋๋, len() ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ผ์.
๊ทธ๋ผ, shirt_size์ ์๋ ์ฌ์ด์ฆ๋ฅผ ํ๋์ฉ ๊ฐ์ ธ์ค๋ ์ฝ๋๋ฅผ ํ ๋ฒ ์ ์ด๋ณผ๊ฒ์ !
for i in range(len(shirt_size)) :
print(shirt_size[i]) # ์ค๋ช
์ ์ํ ์ฝ๋์ด๋ฏ๋ก ์ ์ง ์์๋ ๋ผ์!
์ด๋ ๊ฒ ํ๋ฉด, ๋ฐ์ ๋ฆฌ์คํธ์ ์๋ ๋ด์ฉ์ ํ๋์ฉ ์ ๊ทผํด์ ์ถ๋ ฅํ ์ ์์ด์.
for๋ฌธ์ ํ ๋ฒ ๋ฐ๋ณตํ ๋๋ง๋ค ์๋์ผ๋ก ๋ค์์ผ๋ก ๋์ด๊ฐ์ !
3. ๊ฐ์ ธ์จ ์ฌ์ด์ฆ๊ฐ ์ด๋ค ์ฌ์ด์ฆ์ธ์ง ํ์ธํ๋ค.
๋๋ฒ์งธ๋ก ์ด๋ ๊ฒ for๋ฌธ์ผ๋ก ํ๋์ฉ ๊ฐ์ ธ์จ ๊ฐ์ ํ์ธํด์ผ ํด์.
๊ฐ์ ธ์จ ์ท์ ํฌ๊ธฐ๊ฐ S๋ผ๋ฉด, ์๊น ์ฒ์์ ๋ง๋ answer ๋ฆฌ์คํธ์ 1๋ฒ์งธ์ 1์ ์ถ๊ฐํด์ค์ผ๊ฒ ์ฃ ?
(S๋ ๋ ๋ฒ์งธ ์๋์ธ๋ฐ, ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋ฏ๋ก, ์ธ๋ฑ์ค 1์ธ ์๋ฆฌ์ 1์ ๋ํด์ฃผ๋ฉด ๋ผ์.)
S๋ฅผ ์์๋ก, ์ฝ๋๋ฅผ ํ ๋ฒ ์ง๋ณผ๊ฒ์.
for i in range(len(shirt_size)) :
if shirt_size[i] == 'S' :
answer[1] += 1
์ด๋ ๊ฒ ๊ฐ์ ธ์จ shirt_size๊ฐ S๋ผ๋ฉด, 1๋ฒ์งธ ๊ฐ์ 1 ๋ํด์ฃผ๋ฉด ๋ผ์ !
๊ทธ๋ผ ๋๋จธ์ง๋ ์ ์ด๋ณผ๊ฒ์.
for size in shirt_size:
if size == "XS":
answer[0] += 1
elif size == "S":
answer[1] += 1
elif size == "M":
answer[2] += 1
elif size == "L":
answer[3] += 1
elif size == "XL":
answer[4] += 1
else:
answer[5] += 1
์ด๋ ๊ฒ ํ๋ฉด, ์ต์ข ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ด์.
์ง๊ธ๊น์ง ์์๋๋ก ํ ์ฝ๋๋ฅผ ๋ชจ๋ ํฉ์ณ๋ณผ๊ฒ์.
1. ๊ฐ ์ฌ์ด์ฆ์ ๊ฐ์๋ฅผ ์ ์ฅํ ๊ณต๊ฐ์ ๋ง๋ ๋ค.
2. shirt_size์ ์๋ ์ฌ์ด์ฆ๋ฅผ ํ๋์ฉ ๊ฐ์ ธ์จ๋ค.
3. ๊ฐ์ ธ์จ ์ฌ์ด์ฆ๊ฐ ์ด๋ค ์ฌ์ด์ฆ์ธ์ง ํ์ธํ๋ค.
4. ๊ฒฐ๊ณผ๊ฐ ๋ด๊ธด ๋ฆฌ์คํธ๋ฅผ ๋ฐํ(return) ํ๋ค.
์ ๋ต ์ฝ๋
def solution(shirt_size):
answer = [0, 0, 0, 0, 0, 0]
for size in shirt_size:
if size == "XS":
answer[0] += 1
elif size == "S":
answer[1] += 1
elif size == "M":
answer[2] += 1
elif size == "L":
answer[3] += 1
elif size == "XL":
answer[4] += 1
else:
answer[5] += 1
return answer
'๐ฉต CosPro > python 2๊ธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CosPro 2๊ธ 1์ฐจ] 4๋ฒ ์ ๋ต ๋ฐ ํด์ค (0) | 2025.03.17 |
---|---|
[CosPro 2๊ธ 1์ฐจ] 3๋ฒ ์ ๋ต ๋ฐ ํด์ค (0) | 2025.03.14 |
[CosPro 2๊ธ 1์ฐจ] 2๋ฒ ์ ๋ต ๋ฐ ํด์ค (0) | 2025.03.13 |