728x90
https://programmers.co.kr/learn/courses/30/lessons/12919
프로그래머스에서 '서울에서 김서방 찾기' 문제를 풀었다.
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문보다는 훨씬 간결하고 좋은 것 같았다!
728x90