티스토리 뷰





문제 설명

String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.

제한 사항
  • seoul은 길이 1 이상, 1000 이하인 배열입니다.
  • seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
  • Kim은 반드시 seoul 안에 포함되어 있습니다.
입출력 예
seoulreturn
[JaneKim]김서방은 1에 있






풀이


1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
  public String solution(String[] seoul) {
      String answer = "";
      String k = "Kim";
      for(int i = 0; i < seoul.length;i++){
        if(seoul[i].equals(k)){
         // if(seoul[i]== k){
              answer = "김서방은 " + i+ "에 있다";
          }
      }
      return answer;
  }
}
cs




당연히 될 줄 알고 == 를 사용했는데 계속 안돼서 뭐가 문제일까 구글링을 해봄



결론적으로


== 는 기본데이터형을 비교할 때 사용하고 equals()는 객체를 비교 할 때 사용한다.

그리고 무엇보다 String을 비교할 때는 equals()를 사용한다.






reference

https://javarevisited.blogspot.com/2012/12/difference-between-equals-method-and-equality-operator-java.html

https://programmers.co.kr