문제풀이/프로그래머스
[프로그래머스 Lv.1] 서울에서 김서방 찾기 (Python)
야하루
2024. 7. 9. 14:57
코딩테스트 연습 - 서울에서 김서방 찾기 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
제한 사항
seoul은 길이 1 이상, 1000 이하인 배열입니다.
seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
"Kim"은 반드시 seoul 안에 포함되어 있습니다.
입출력 예
seoul | return |
["Jane", "Kim"] | "김서방은 1에 있다" |
풀이
아이디어: 그냥 "Kim"이 위치하는 인덱스를 찾아내면 된다.
# 풀이1
def solution(seoul):
x = seoul.index("Kim")
answer = '김서방은 '+str(x)+'에 있다'
return answer
-> 리스트의 메소드인 index() 함수를 이용해서 "Kim"이 위치하는 인덱스를 가져왔다.
# 풀이2
def solution(seoul):
index = 0
for i in seoul:
if i == "Kim":
break
index += 1
return f"김서방은 {index}에 있다"
-> 이번에는 seoul 리스트를 순회하면서 "Kim"이 몇번째에 나타나는지 구하는 방법이다.
Kim을 찾으면 그 즉시 중단하고, Kim이 아니면 index에 1을 더해준다.
# 풀이3
def solution(seoul):
for index, value in enumerate(seoul):
if value == "Kim":
return f"김서방은 {index}에 있다"
-> enumerate() 함수를 이용하여 푼 방법이다. value로 원하는 요소를 찾고, index로 원하는 위치를 찾아주었다.
enumerate()
enumerate() 함수는 이터러블의 요소와 해당 요소의 인덱스를 함께 반환해준다.