프로그래머스 Level 1
🔒 서울에서 김서방 찾기
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
seoul은 길이 1 이상, 1000 이하인 배열입니다.
seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
"Kim"은 반드시 seoul 안에 포함되어 있습니다.
seoul | return |
---|---|
["Jane", "Kim"] | "김서방은 1에 있다" |
class Solution {
public String solution(String[] seoul) {
String answer = "";
for(int i=0; i<seoul.length; i++) {
if("Kim".equals(seoul[i])) {
answer = "김서방은 " + i + "에 있다";
break;
}
}
return answer;
}
}
seoul
의 크기만큼 for문을 돌려 Kim
과 동일한 요소의 인덱스를 answer
에 저장한다!
break
을 써줌으로써 모든 요소를 탐색하지 않게 해준다.
class Solution {
public String solution(String[] seoul) {
return "김서방은 "+ Arrays.asList(seoul).indexOf("Kim") + "에 있다";
}
}
seoul
배열을 Arrays.asList()
를 통해 ArrayList
로 변환한 후 Kim
의 index를 바로 반환!!
이렇게 간단한 코드일 수가..!!
def solution(seoul):
idx = seoul.index("Kim");
answer = '김서방은 ' + str(idx) + '에 있다'
return answer
이건 그냥 파이썬이면 더 쉬울 것 같아서 뚝딱뚝딱 작성한 코드
str()
로 int를 String으로 형변환을 안해줘서 한번 오류가 났다.
역시 코테는 파이썬이 더 낫다...
def solution(seoul):
return "김서방은 {}에 있다".format(seoul.index('Kim'))
아... format
배웠는데 완전히 까먹고 있었다.
오랜만에 다시 보니 반갑고 얄미운 녀석이다.
잘 풀었다고 생각했는데 더 잘 푸는 방법이 있다니...
공부는 끝이 없는 거 같다.