코딩테스트 연습 - 서울에서 김서방 찾기
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니
programmers.co.kr
1) 문제 설명
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
2) 제한 사항
- seoul은 길이 1 이상, 1000 이하인 배열입니다.
- seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
- "Kim"은 반드시 seoul 안에 포함되어 있습니다.
3) 입출력 예
1. 문제 접근 방식
리스트 내 요소를 for문으로 돌려 Kim이라는 요소를 가지고 있는 인덱스를 찾아 인덱스 i를 출력하였다.
정말 단순하게 머릿속에 있는 것들을 그대로 가져와 코드를 실행하였다.
2. 플이코드
(1) 나의 풀이 코드
def solution(seoul):
answer = ''
for i in range(len(seoul)):
if seoul[i] == "Kim":
answer = '김서방은 {}에 있다'.format(i)
return answer
해당 코드에서 주의해야 할 점 하나가 있다.
만약, Kim이라는 요소가 여러 개가 있다면 이 코드를 사용하기는 어렵다. 여러 개가 있으면 리스트 중 가장 마지막에 있는 Kim만 출력되기 때문이다.
즉, 요소가 단 하나라는 조건이 붙을 때만 사용해야 하는 코드이다.
(2) 다른 사람 풀이 코드
def findKim(seoul):
return "김서방은 {}에 있다".format(seoul.index('Kim'))
굳이 for 문을 사용하지 않고 바로 ".index()"를 사용하여 인덱스를 찾아내었다.
리스트에 있는 요소의 인덱스 번호를 찾고 싶다면 ".index()"를 사용하면 된다.
3. 배운 점
".index()"에 대해 알게 되었다. 리스트에 있는 요소의 인덱스 번호를 찾을 때 유용하게 사용해보아야겠다.
그리고 내가 작성한 코드로 진행한다면 요소가 단 1개여야 한다는 것도 퍼실님께서 알려주셔서 알게 되었다. 이 부분도 신경써서 앞으로 코드를 짜야겠다.
'코딩 테스트 > Python' 카테고리의 다른 글
[프로그래머스 코딩테스트 연습] 12. 체육복 (0) | 2022.02.26 |
---|---|
[프로그래머스 코딩테스트 연습] 11. 문자열 내 p와 y의 개수 (0) | 2022.02.25 |
[프로그래머스 코딩테스트 연습] 9. 약수의 합 (0) | 2022.02.22 |
[프로그래머스 코딩테스트 연습] 7. 핸드폰 번호 가리기 (0) | 2022.02.17 |
[프로그래머스 코딩테스트 연습] 6. 가운데 글자 가져오기 (0) | 2022.02.17 |