[PS] 99ํด๋ฝ ์ฝํ ์คํฐ๋ 11์ผ์ฐจ TIL (์นด๋๋ญ์น)
ํ๊ทธ: 99ํด๋ฝ, PS, TIL, ์ ๋ ฌ, ์ฝ๋ฉํ ์คํธ์ค๋น, ํญํด99
์นดํ ๊ณ ๋ฆฌ: PS
๋ฌธ์
ํ์ด
์นด๋ ๋ญ์น๋ค์ ์์๋ฅผ ๋ฐ๊ฟ ์ ์๊ณ ํญ์ ์์์๋ง ์์๋๋ก ๋ฝ์์ผ ํ๋ค๋ ์กฐ๊ฑด์ด ์์ด Queue
๋ก ํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
๋ฌธ์ ์์ ์ฃผ์ด์ง๋ ์ธ ์ข
๋ฅ์ ์นด๋ ๋ญ์น๋ฅผ ๋ชจ๋ ๊ฐ๊ฐ Queue
์ ๋ฃ๊ณ ๊ฐ๊ฐ์ ์นด๋๋ญ์น์ ๋งจ ์ ์นด๋๋ฅผ ํ๋์ฉ ๊บผ๋ด goal ๊ณผ ๊ฐ๋ค๋ฉด ํ๋์ฉ ์ ๊ฑฐํ๋ ๋ฐฉ์์ผ๋ก ํ์๋ค.
goalQ
๊ฐ ๋ชจ๋ ๋น์๋ค๋ฉด ์กฐ๊ฑด๋ฌธ์ ์ํด ์ผ์นํ๋ ์นด๋๊ฐ ๋ชจ๋ ์ ๊ฑฐ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ โYesโ ๋ฅผ ์ถ๋ ฅํ๊ณ , card1Queue
์ card2Queue
์์ ๊บผ๋ด์ ๋น๊ตํ๋ ๊ณผ์ ์์ ์๋ก ๋ค๋ฅธ ์นด๋๊ฐ ๋ฐ๊ฒฌ๋๋ ์ฆ์ โNoโ ๋ฅผ ๋ฆฌํดํ๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Solution {
private static String check(Queue<String> card1Queue, Queue<String> card2Queue, Queue<String> goalQ) {
while (!goalQ.isEmpty()) {
if (!card1Queue.isEmpty() && card1Queue.peek().equals(goalQ.peek())) {
card1Queue.poll();
goalQ.poll();
} else if (!card2Queue.isEmpty() && card2Queue.peek().equals(goalQ.peek())) {
card2Queue.poll();
goalQ.poll();
} else {
return "No";
}
}
return "Yes";
}
public String solution(String[] cards1, String[] cards2, String[] goal) {
Queue<String> card1Queue = new ArrayDeque<>(List.of(cards1));
Queue<String> card2Queue = new ArrayDeque<>(List.of(cards2));
Queue<String> goalQ = new ArrayDeque<>(List.of(goal));
return check(card1Queue, card2Queue, goalQ);
}
}
๋๊ธ๋จ๊ธฐ๊ธฐ