728x90
반응형
using System;
using System.Collections.Generic;
public class Solution
{
public string solution(string[] cards1, string[] cards2, string[] goal)
{
//goal에 있는 값이 각 인덱스 순서대로 card1이나 card2에 있어야함
Queue<string> queue1 = new Queue<string>(); // card1 확인할 queue 값
Queue<string> queue2 = new Queue<string>(); // card2 확인할 queue 값
string answer = "";
foreach (string card in cards1) // card1 배열을 queue 1에 값 넣어주기
{
queue1.Enqueue(card);
}
foreach (string card in cards2) // card2 배열을 queue2에 값 넣어주기
{
queue2.Enqueue(card);
}
for(int i = 0; i < goal.Length; i++) // goal의 길이만큼 각 인덱스별로
{
if (queue1.Count != 0) // queue1의 값이 모두 뽑힌 상황이 아니라면
{
string check1 = queue1.Peek(); // 뺄 값을 체크해보고
if(check1 == goal[i]) // goal의 i번째 인덱스와 확인 후 같은 단어라면
{
queue1.Dequeue(); // 값을 빼기
continue; // 반복
}
}
if (queue2.Count != 0) // queue2의 값이 모두 뽑힌 상황이 아니라면
{
string check2 = queue2.Peek(); // 뺄 값을 체크해보고
if (check2 == goal[i]) // goal의 i번째 인덱스와 확인 후 같은 단어라면
{
queue2.Dequeue(); // 값을 빼기
continue; // 반복
}
}
answer = "No"; // 해당 조건을 한번이라도 모두 만족하지 않았다면 goal의 단어 배열 순서대로 나올 수 없음.
return answer;
}
answer = "Yes";
return answer;
}
}
728x90
반응형
'코딩테스트' 카테고리의 다른 글
C# [프로그래머스] Lv.1 숫자 짝꿍 (0) | 2024.02.05 |
---|---|
C# [프로그래머스] Lv.1 과일 장수 (1) | 2023.12.28 |
C# [프로그래머스] Lv.1 덧칠하기 (0) | 2023.12.26 |
C# [프로그래머스] Lv.1 개인정보 수집 유효기간 (1) | 2023.12.26 |
[프로그래머스] Lv.0 문자열 반복 출력 하기 (0) | 2023.11.08 |