문제
- 두 배열이 얼마나 유사한지 확인하려고 합니다. 문자열 배열 s1과 s2가 주어졌을 때 동일한 요소의 수를 반환하도록 solve 함수를 완성하십시오.
제한
- 1 ≤ s1, s2 ≤ 100의 길이
- 1 ≤ s1, s2 ≤ 10의 요소 길이
- s1 및 s2의 요소는 알파벳의 소문자로만 구성됩니다.
- s1 및 s2에는 각각 중복 요소가 없습니다.
처음 풀었던 코드
import java.util.*;
class Solution {
public int solution(String() s1, String() s2) {
int answer = 0;
for(int i=0; i<s1.length; i++){
for(int j=0; j<s2.length; j++){
if(s1(i)==s2(j)){
answer+=1;
}
}
}
return answer;
}
}
이렇게 풀다가 코드를 실행해보니 테스트가 실패했습니다.
결과적으로 문자열에서 ==를 사용하면 동일한 객체인지 비교하고 문자열을 비교하지 않습니다.말하다!!
그래서 새로운 방법 같음()오전.
import java.util.*;
.equals()
equals()는 배열의 값이 같은지 비교합니다. ==와 같은 역할하다
답변
import java.util.*;
class Solution {
public int solution(String() s1, String() s2) {
int answer = 0;
for(int i=0; i<s1.length; i++){
for(int j=0; j<s2.length; j++){
if(s1(i).equals(s2(j))){
answer+=1;
}
}
}
return answer;
}
}