알고리즘/프로그래머스

[프로그래머스 / Python] 서울에서 김서방 찾기 | 초코더

cloud_nice 2020. 1. 2. 21:44

문제 설명

String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.

 

제한 사항

-seoul은 길이 1 이상, 1000 이하인 배열입니다.

-seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.

-Kim은 반드시 seoul 안에 포함되어 있습니다.

 

입출력 예

seoul

return

[Jane, Kim]

김서방은 1에 있다

 

접근법

우선 배열의 값을 가져와서 Kim과 일치하는지 비교합니다.

그리고 그 일치하는 값의 index값을 가져와서 출력해줍니다.

 

나의 코드

def solution(seoul):
    for index, name in enumerate(seoul):
        if name == "Kim":
            answer = "김서방은 "+str(index)+"에 있다" #index는 int형이므로 str형태로 변환해주어야함
            return answer

 

다른 코드

def findKim(seoul):
    return "김서방은 {}에 있다".format(seoul.index('Kim'))

 

index라는 함수가 존재하는지 처음 알게되었습니다!!! 

index(x) 함수는 리스트에 x 값이 있으면 x의 위치 값을 돌려줍니다.

 

즉 seoul 리스트에 존재하는 'Kim'의 위치 값을 돌려주는 것입니다.