CodingTest/[프로그래머스 LV.1]

프로그래머스 LV.1 - 서울에서 김서방 찾기[Python]

경토리 2023. 1. 31. 00:05
728x90

문제 설명

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

제한 사항
  • seoul은 길이 1 이상, 1000 이하인 배열입니다.
  • seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
  • "Kim"은 반드시 seoul 안에 포함되어 있습니다.
입출력 예seoulreturn
["Jane", "Kim"] "김서방은 1에 있다"

<풀이>

def solution(seoul):
    
    for i in range(len(seoul)) :
        if seoul[i] == "Kim" :
            answer = i
            
    return('김서방은 ' + str(answer) + '에 있다')

단순하게 이름이 담긴 리스트 seoul의 길이 만큼 for문을 실행하도록 했다.

for문을 반복하면서 element가 'Kim'이랑 같으면 answer에 해당 인덱스인 i를 담아 return 시 answer를 출력하도록 하드코딩했다. 이때 int인 i를 string으로 바꿔주어야 한다. 

 

<다른 사람 풀이>

def solution(seoul):

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

리스트의 인덱스를 반환하는 방법을 사용하면 for문을 사용하지 않아도 될 것 같았고

이를 format을 사용하여 바로 answer에 문자열이 담기도록 했다.

728x90