반응형
문제설명
다양한 색을 가진 양말 중 같은 색을 가진 양말을 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
풀이
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
댓글