//오답 코드 (정확성 테스트 실패) classSolution{ public String solution(String[] seoul){ String answer = ""; int i = 0; for (i=0; i<seoul.length; i++){ if (seoul[i] == "Kim"){ //문제의 그 부분 break; } answer = "김서방은 "+i+"에 있다"; } return answer; } }
자바에서 String을 비교할 때, .equals() 는 객체끼리 내용(값)을 비교할 수 있는 메소드이고(값 자체를 비교), == 는 객체의 참조(주소)값을 비교하는 연산자이다.
무심코 생각못하고 실전에서 이런 실수를 해버렸다면 정말 끔찍했을 것이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
//솔루션 classSolution{ public String solution(String[] seoul){ String answer = ""; String kim = "Kim"; int i = 0; for (i=0; i<seoul.length; i++){ if (seoul[i].equals(kim)){ answer = "김서방은 "+i+"에 있다"; //띄어쓰기 주의 } } return answer; } }