01-09 18:44
Recent Posts
Recent Comments
Tags
- μ΄λΈμ
- SQL
- python
- λ°μ΄ν°λ² μ΄μ€
- DATABASE
- Naver Cloud
- νμ΄μ곡λͺ¨μ
- νλ‘λ³΄λ Έ
- ict곡λͺ¨μ
- TSQL
- ICTλ©ν λ§
- DB
- μ€ν½μ€λΉ
- Spring
- mysql
- RaspberryPi
- linux
- νμ΄μ¬
- Java
- μ¨μΌλν
- νμ΄μ
- APIλ§μΌνλ μ΄μ€
- μλμ΄λ Έ
- JOBνκ³
- ICT
- API MarketPlace κΈλ‘λ² μν¬ν°μ¦
- μ€ν½λ ν
- μ‘νκ³
- μλ°
- appetizer
- Today
- Total
miinsun
[BAEKJOON] λ°±μ€ μ€ν 1874 :: μ€ν μμ΄ λ³Έλ¬Έ
π¬ λ¬Έμ μ€λͺ
μ€ν (stack)μ κΈ°λ³Έμ μΈ μλ£κ΅¬μ‘° μ€ νλλ‘, μ»΄ν¨ν° νλ‘κ·Έλ¨μ μμ±ν λ μμ£Ό μ΄μ©λλ κ°λ μ΄λ€. μ€νμ μλ£λ₯Ό λ£λ (push) μ ꡬμ μλ£λ₯Ό λ½λ (pop) μ κ΅¬κ° κ°μ μ μΌ λμ€μ λ€μ΄κ° μλ£κ° μ μΌ λ¨Όμ λμ€λ (LIFO, Last in First out) νΉμ±μ κ°μ§κ³ μλ€.
1λΆν° nκΉμ§μ μλ₯Ό μ€νμ λ£μλ€κ° λ½μ λμ΄λμμΌλ‘μ¨, νλμ μμ΄μ λ§λ€ μ μλ€. μ΄λ, μ€νμ pushνλ μμλ λ°λμ μ€λ¦μ°¨μμ μ§ν€λλ‘ νλ€κ³ νμ. μμμ μμ΄μ΄ μ£Όμ΄μ‘μ λ μ€νμ μ΄μ©ν΄ κ·Έ μμ΄μ λ§λ€ μ μλμ§ μλμ§, μλ€λ©΄ μ΄λ€ μμλ‘ pushμ pop μ°μ°μ μνν΄μΌ νλμ§λ₯Ό μμλΌ μ μλ€. μ΄λ₯Ό κ³μ°νλ νλ‘κ·Έλ¨μ μμ±νλΌ.
π¨ μ μΆλ ₯ μ
μ λ ₯
- 첫 μ€μ n (1 ≤ n ≤ 100,000)μ΄ μ£Όμ΄μ§λ€.
- λμ§Έ μ€λΆν° nκ°μ μ€μλ μμ΄μ μ΄λ£¨λ 1μ΄μ nμ΄νμ μ μκ° νλμ© μμλλ‘ μ£Όμ΄μ§λ€.
- λ¬Όλ‘ κ°μ μ μκ° λ λ² λμ€λ μΌμ μλ€.
μΆλ ₯
- μ λ ₯λ μμ΄μ λ§λ€κΈ° μν΄ νμν μ°μ°μ ν μ€μ ν κ°μ© μΆλ ₯νλ€.
- pushμ°μ°μ +λ‘, pop μ°μ°μ -λ‘ νννλλ‘ νλ€.
- λΆκ°λ₯ν κ²½μ° NOλ₯Ό μΆλ ₯νλ€.
μμ μ λ ₯ 1)
8
4
3
6
8
7
5
2
1
μμ μΆλ ₯ 1)
+
+
+
+
-
-
+
+
-
+
+
-
-
-
-
-
μμ μ λ ₯ 2)
5
1
2
5
3
4
μμ μΆλ ₯ 2)
NO
β
πΎ Hint
1λΆν° nκΉμ§μ μμ λν΄ μ°¨λ‘λ‘ [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] μ°μ°μ μννλ©΄ μμ΄ [4, 3, 6, 8, 7, 5, 2, 1]μ μ»μ μ μλ€.
π» Main.java
/* λ°±μ€ μλ£κ΅¬μ‘° - 1874 :: μ€ν μμ΄ */
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
StringBuilder sb = new StringBuilder();
Stack<Integer> s = new Stack<>();
int tmp = sc.nextInt(); // 첫 λ²μ§Έλ‘ ꡬν΄μΌ νλ μ μ
λ ₯
int limit = 1; // λ§λ€μ΄μΌνλ μμ΄ μ cnt
for(int i = 1; i <= N; i++) {
s.add(i); // 1~NκΉμ§ μμ΄ μΆκ°
sb.append('+').append('\n');
while(!s.isEmpty() && s.peek() == tmp) { // ꡬν΄μΌ νλ μλ₯Ό λ§λλ©΄
s.pop();
sb.append('-').append('\n');
if(limit < N) { // limitμμ λ€λλ§ μλ‘μ΄ μ
λ ₯λ°κΈ°
tmp = sc.nextInt();
limit++;
}
}
}
if(limit == N) // λͺ¨λ μ
λ ₯μ λ°κ³ μμ΄μ μμ±νλ©΄ μ±κ³΅
System.out.println(sb);
else // λͺ¨λ μ
λ ₯μ λ°μ§ λͺ»νκ³ μμ΄μ μμ±νλ©΄ μ€ν¨
System.out.println("NO");
sc.close();
}
}
'Algorithm > Baekjoon' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BAEKJOON] λ°±μ€ μ°μ μμ ν 11279 :: μ΅λ ν (0) | 2022.04.21 |
---|---|
[BAEKJOON] λ°±μ€ μ΄λΆνμ 1920 :: μ μ°ΎκΈ° (0) | 2022.04.20 |
[BAEKJOON] λ°±μ€ ν 1966 :: νλ¦°ν° ν (0) | 2022.04.18 |
[BAEKJOON] λ°±μ€ μ€ν 4949 :: κ· νμ‘ν μΈμ (0) | 2022.04.15 |
[BAEKJOON] λ°±μ€ κ·Έλ¦¬λ μκ³ λ¦¬μ¦ 13305 :: μ£Όμ μ (0) | 2022.04.15 |
Comments