-
728x90
문제 설명
두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.
제한 사항
- 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; List<String> s1List = new ArrayList<>(Arrays.asList(s1)); for(String val : s2) { if(s1List.contains(val)) { answer++; } } return answer; } }
일반 for문을 사용하면 두 배열의 길이가 다르기 때문에
ArrayIndexOutOfBoundsException
가 발생할 수 있다.다시 배열로 리턴하는게 아니기 때문에 하나의 배열을
ArrayList로 변환
하여 배열에 특정 문자열이 있는지 알 수 있는 함수contains()
를 사용했다.참고
- ArrayList를 사용하기 위해선 import 을 통해 ArrayList를 임포트 해준다.
- 배열을 ArrayList로 바꾸는 방법
- ist<타입> 리스트명 = new ArrayList<>(Arrays.asList(배열명))
- contrans()
- 리스트에 특정 문자열이 포함되어 있는지 확인하여 있다면 true, 없으면 false를 리턴하는 함수
728x90'algorithm' 카테고리의 다른 글
자바 알고리즘 - 가장 큰 수 찾기 (0) 2023.09.01 자바 알고리즘 - 문자열 계산하기 (0) 2023.09.01 자바 알고리즘 - 숫자 찾기 (0) 2023.08.31 자바 알고리즘 - n의 배수 고르기 (0) 2023.08.31 자바 알고리즘 - 자릿수 더하기 (0) 2023.08.31