https://school.programmers.co.kr/learn/courses/30/lessons/159994
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 각 단어에 현재 참조하는 인덱스를 설정한다.
2. 해당 인덱스에 목표 단어가 있다면 해당 인덱스는 다음 인덱스로 값을 변경한다.
3. 반복문을 돌고 각 인덱스의 합이 목표 단어 배열의 크기와 같으면 Yes 아니면 No를 반환하면 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
class Solution {
public String solution(String[] cards1, String[] cards2, String[] goal) {
int idx1 = 0; // cards1의 현재 인덱스
int idx2 = 0; // cards2의 현재 인덱스
for(String str : goal) {
if(cards1.length > idx1 && str.equals(cards1[idx1])) {
idx1++; // goal 참조하는 단어가 cards1에 존재하고 그 인덱스가 오버되지 않으면 idx1 값을 증가
} else if(cards2.length > idx2 && str.equals(cards2[idx2])) {
idx2++; // goal 참조하는 단어가 cards2에 존재하고 그 인덱스가 오버되지 않으면 idx2 값을 증가
}
}
return idx1 + idx2 == goal.length ? "Yes" : "No"; // goal 안에 단어 갯수와 같으면 Yes를 아니면 No를 반환
}
}
|
cs |
'Programmers > Lv.1' 카테고리의 다른 글
프로그래머스 Lv.1 - 시저 암호 (2) | 2023.10.28 |
---|---|
프로그래머스 Lv.1 - 문자열 내 p와 y의 개수 (0) | 2023.10.28 |
프로그래머스 Lv.1 - 문자열 나누기 (0) | 2023.09.16 |
프로그래머스 Lv.1 - 대충 만든 자판 (0) | 2023.09.16 |
프로그래머스 Lv.1 - 소수 찾기 (0) | 2023.09.16 |