
제출코드 (오답)
class Solution {
public String solution(String[] seoul) {
int num = 0;
for (int i = 0; i < seoul.length; i++) {
if (seoul[i] == ("Kim")) {
num = i;
}
}
String answer = "김서방은 " + num + "에 있다";
return answer;
}
}
모범답안
class Solution {
public String solution(String[] seoul) {
int num = 0;
for (int i = 0; i < seoul.length; i++) {
if (seoul[i].equals("Kim")) {
num = i;
}
}
String answer = "김서방은 " + num + "에 있다";
return answer;
}
}
모범답안2
public class FindKim {
public String findKim(String[] seoul){
int x = 0;
for(int i=0; i<seoul.length; i++){
if(seoul[i].equals("Kim")) {
x = i ;
break; // "Kim"을 찾은 후 반복 중단 -> 속도 증가
}
}
StringBuilder sb = new StringBuilder();
sb.append("김서방은 ");
sb.append(x);
sb.append("에 있다");
return sb.toString();
}
}
배운점
- 문자열끼리 같은지 비교할 때는 == 가 아니라 equals()를 사용해야 한다.
- 만약 반복문을 통해 찾고자 하는 값을 찾으면 break를 써주도록 하자. 속도가 더 빨라진다.
- String 대신 StringBuilder를 사용하는 것이 100배나 빠르다고 한다.