프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제

제출한 코드
import java.util.*;
class Solution {
public String solution(String[] cards1, String[] cards2, String[] goal) {
List<String> c1 = new ArrayList<>(List.of(cards1));
List<String> c2 = new ArrayList<>(List.of(cards2));
for (int i = 0; i < goal.length; i++) {
if (c1.indexOf(goal[i]) == 0) c1.remove(0);
else if (c2.indexOf(goal[i]) == 0) c2.remove(0);
else return "No";
}
return "Yes";
}
}
풀이
먼저 String 배열 cards1, cards2를 List로 변환해주었다.
이후 goal의 요소를 처음부터 비교해서 각 리스트의 0번째 인덱스에 위치하는지 확인한 후,
만약 c1의 0번째에 해당 요소가 위치하면 c1의 0번째 요소를 remove 해주고,
c2의 0번째에 해당 요소가 위치하면 c2의 0번째 요소를 remove 해주며,
만약 둘 다 0번째 인덱스에 위치하지 않을 경우 goal의 문자열을 만들어낼 수 없기 때문에 그 즉시 "No"를 반환하도록 했다.
'프로그래머스' 카테고리의 다른 글
| [프로그래머스] 77484번 - 로또의 최고 순위와 최저 순위 [Java] (0) | 2026.06.04 |
|---|---|
| [프로그래머스] 136798번 - 기사단원의 무기 [Java] (0) | 2026.06.02 |
| [프로그래머스] 12901번 - 2016년 [Java] (0) | 2026.05.21 |
| [프로그래머스] 138477번 - 명예의 전당 (1) [Java] (0) | 2026.05.20 |
| [프로그래머스] 142086번 - 가장 가까운 같은 글자 [Java] (0) | 2026.05.18 |