코딩테스트 연습 - 서울에서 김서방 찾기 | 프로그래머스 스쿨 (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() 함수는 이터러블의 요소와 해당 요소의 인덱스를 함께 반환해준다.
'문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 Lv.1] 음양 더하기 (Python) (0) | 2024.07.09 |
---|---|
[프로그래머스 Lv.1] 나누어 떨어지는 숫자 배열 (Python) (0) | 2024.07.09 |
[프로그래머스 Lv.1] 콜라츠 추측 (Python) (0) | 2024.07.09 |
[프로그래머스 Lv.1] 두 정수 사이의 합 (Python) (0) | 2024.07.09 |
[프로그래머스 Lv.1] 정수 내림차순으로 배치하기 (Python) + sort(), join()함수 (0) | 2024.07.08 |