https://programmers.co.kr/learn/courses/30/lessons/12919
코딩테스트 연습 - 서울에서 김서방 찾기
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니
programmers.co.kr
프로그래머스에서 '서울에서 김서방 찾기' 문제를 풀었다.
string형 배열에서 특정 문자를 찾는 문제였으며 출력할 때 int형을 stirng으로 바꿔야한다는 것만 안다면 쉬운 문제였던 것 같다.
먼저 첫번째 풀이는 for문을 사용하였다.
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으로 바꿔주어야 한다.
for문을 사용하지 않고 해결할 수 있는 방법이 있을 것 같아서 고민을 해 보았다.
def solution(seoul):
answer = ''
answer = "김서방은 {}에 있다".format(seoul.index('Kim'))
return answer
리스트의 인덱스를 반환하는 방법을 사용하면 for문을 사용하지 않아도 될 것 같았고
이를 format을 사용하여 바로 answer에 문자열이 담기도록 했다.
확실히 for문보다는 훨씬 간결하고 좋은 것 같았다!
GitHub - YOOHYOJEONG/algorithm_practice: 알고리즘 공부 및 코딩테스트 준비
알고리즘 공부 및 코딩테스트 준비. Contribute to YOOHYOJEONG/algorithm_practice development by creating an account on GitHub.
github.com