๐ ์ฝ๋ฉํ
์คํธ/๋ฐฑ์ค & ํ๋ก๊ทธ๋๋จธ์ค
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ํ๋ฒ๊ฑฐ ๋ง๋ค๊ธฐ ( *Stack )
deep_lee
2023. 3. 9. 16:25
https://school.programmers.co.kr/learn/courses/30/lessons/133502
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
์ฒ์์ ๋ฌธ์์ด์ ์ด์ฉํ์ฌ ํ๋ ค๋ค๊ฐ .. ์ ์๋ผ์
๊ทธ๋ฅ Stack์ผ๋ก ํ์๋ค.
์คํ์ผ๋ก ํ๋ ์ฃผ์ํ ์ ์ index๋ง ์ ๊ฒฝ์ฐ๋ฉด ๋๋๋ฏ ํ๋ค.
ํ๋ฒ๊ฑฐ๊ฐ 1231 ๋ง๋ค์ด์ง๋๋ง๋ค answer++ํ๊ณ ์ ๊ฑฐํด์ฃผ๋ฉด ๋๋ค.
import java.util.*;
class Solution {
public int solution(int[] ingredient) {
int answer = 0;
Stack<Integer> stack = new Stack<>();
for(int i : ingredient){
stack.add(i);
if(stack.size() >= 4 ){
if(stack.get(stack.size()-4) == 1
&& stack.get(stack.size()-3) == 2
&& stack.get(stack.size()-2) == 3
&& stack.get(stack.size()-1) == 1){
answer++;
stack.pop();
stack.pop();
stack.pop();
stack.pop();
}
}
}
return answer;
}
}