Algorithms
<프로그래머스 알고리즘문제> 서울에서 김서방 찾기
seoca
2019. 1. 17. 14:57
문제 설명
String형 배열 seoul의 element중 Kim
의 위치 x를 찾아, 김서방은 x에 있다
는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim
은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
제한 사항
- seoul은 길이 1 이상, 1000 이하인 배열입니다.
- seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
Kim
은 반드시 seoul 안에 포함되어 있습니다.
입출력 예
seoul | return |
---|---|
[Jane, Kim] | 김서방은 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