본문 바로가기

Python_Matter/COS Pro

YBM Python Test Level 2 - 이름에 "j" 또는 "k"가 들어가는 사람

Q>

문제 설명
학생들의 이름이 들어있는 명단에서 이름에 j 또는 k가 들어가는 학생의 수를 구하려고 합니다.

예를 들어 james에는 j가 들어가 있으며, jack에는 j와 k가 모두 들어있습니다.

학생들의 이름이 들어있는 배열 name_list가 매개변수로 주어졌을 때, 이름에 j 또는 k가 들어가는 학생의 수를 세서 return 하도록 solution 함수를 작성했습니다.

그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다.

주어진 코드에서 한 줄만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.

- 매개변수 설명
학생들의 이름이 들어있는 배열 name_list가 solution 함수의 매개변수로 주어집니다.
* name_list의 길이는 1 이상 100 이하입니다.
* 학생들의 이름은 알파벳 소문자로만 이루어져 있으며, 길이는 1 이상 20 이하입니다.
* 같은 이름이 중복해서 들어있지 않습니다.

 

- return 값 설명
solution 함수는 이름에 j 또는 k가 들어가는 학생의 수를 return 합니다.

- 예시

name_list result
[james, luke, oliver, jack] 3


- 예시 설명
예시 #1
이름에 j 또는 k가 들어가는 사람은 james, luke, jack으로 총 3명입니다.

 

A>

def solution(name_list):
    answer = 0
    for name in name_list:
        for n in name:
            if n == 'j' or n == 'k':
                answer += 1
                continue
    return answer

 

DA>

def solution(name_list):
    answer = 0
    for name in name_list:
        for n in name:
            if n == 'j' or n == 'k':
                answer += 1
                break                   # 현재 검사하는 이름의 철자 중'j'또는 'k'를 한번이라도 만나면 사람 수를 1증가 시키고 for를 빠져나가게 하면 되므로 break
    return answer

print(solution(['james', 'luke', 'oliver', 'jack']))

 

F>

Quiz8.py
0.00MB

 

 

#>

https://programmers.co.kr/learn/courses/33