문제설명
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
제한 사항
class Solution {
public String solution(String[] seoul) {
String answer = "";
for (int i = 0; i < seoul.length; i++) {
if (seoul[i].equals("Kim")) {
answer = "김서방은 " + i + "에 있다";
}
}
return answer;
}
}
그냥 문제를 보고 바로 떠올린대로 for문을 사용해서 "Kim"이 들어있는지를 체크했다. 다른 답안들을 보니 향상된 for문을 사용하는 것이 성능 차이는 거의 없지만 가독성을 높일 수 있는 것 같아 작성해봤다.
int i = 0;
for(String name : seoul) {
if (name.eqauls("Kim")) {
break;
}
i++;
}
return "김서방은 " + i + "에 있다";
eqaulsIgnoreCase() 는 말 그대로 case를 ignore하고 equals검사를 한다. 대소문자에 관계없이 검사하기 때문에 A".equals("a")
는 false지만 A.eqaulsIgnoreCase("a")
는 true이다.