μκ° μ ν | λ©λͺ¨λ¦¬ μ ν | μ λ΅ λΉμ¨ |
1μ΄ | 128MB | 40.486% |
λ¬Έμ
νμλ€μ΄ μμλλ‘ μ€μ μλ €κ³ νμ§λ§ 곡κ°μ΄ λ무 νμν΄μ λ§μλλ‘ μ΄λν μ μμλ€. λ€ννλ λκΈ°μ΄μ μΌμͺ½μλ 1μ΄λ‘ μ€ μ μλ 곡κ°μ΄ μ‘΄μ¬νμ¬ μ΄ κ³΅κ°μ μ μ΄μ©νλ©΄ λͺ¨λκ° μμλλ‘ κ°μμ λ°μ μ μμμ§λ λͺ¨λ₯Έλ€. μμΉ« κ°μμ λͺ» λ°κ² λ μ§λ λͺ¨λ₯Έλ€λ μκΈ°κ°μ λλ μΉνμ΄λ μμ μ μ»΄ν¨ν° μκ³ λ¦¬μ¦μ μ§μμ νμ©ν΄ κ³Όμ° λͺ¨λ μ¬λλ€μ΄ μμλλ‘ κ°μμ λ°μ μ μλμ§ νμΈνλ νλ‘κ·Έλ¨μ λ§λ€κΈ°λ‘ νλ€. λ§μ½ λΆκ°λ₯ νλ€λ©΄ μΉνμ΄λ μ΄λ² μ€κ°κ³ μ¬λ₯Ό λ§μΉκ² λ κ² μ΄κ³ κ°λ₯νλ€λ©΄ νμ μ»μ΄ μ€κ°κ³ μ¬λ₯Ό μ λ³Ό μ μμμ§λ λͺ¨λ₯Έλ€.
μ¬λλ€μ νμ¬ 1μ΄λ‘ μ€μ μμκ³ , 맨 μμ μ¬λλ§ μ΄λμ΄ κ°λ₯νλ€. μΈκ·λ λ²νΈν μμλλ‘λ§ ν΅κ³Όν μ μλ λΌμΈμ λ§λ€μ΄ λμλ€. μ΄ λΌμΈκ³Ό λκΈ°μ΄μ 맨 μ μ¬λ μ¬μ΄μλ ν μ¬λμ© 1μ΄μ΄ λ€μ΄κ° μ μλ 곡κ°μ΄ μλ€. νμ¬ λκΈ°μ΄μ μ¬λλ€μ μ΄ κ³΅κ°μΌλ‘ μ¬ μ μμ§λ§ λ°λλ λΆκ°λ₯νλ€. μΉνμ΄λ₯Ό λμ νλ‘κ·Έλ¨μ μμ±νλΌ.
μ μΆλ ₯
μ
λ ₯μ 첫째 μ€μλ νμ¬ μΉνμ΄μ μμ μ μλ νμλ€μ μ N(1 ≤ N ≤ 1,000,μμ°μ)μ΄ μ£Όμ΄μ§λ€.
λ€μ μ€μλ μΉνμ΄ μμ μμλ λͺ¨λ νμλ€μ λ²νΈν(1,2,...,N) μμκ° μμμλΆν° λ€ μμλ‘ μ£Όμ΄μ§λ€.
μΉνμ΄κ° 무μ¬ν κ°μμ λ°μ μ μμΌλ©΄ "Nice"(λ°μ΄νλ μ μΈ)λ₯Ό μΆλ ₯νκ³ κ·Έλ μ§ μλ€λ©΄ "Sad"(λ°μ΄νλ μ μΈ)λ₯Ό μΆλ ₯νλ€.
ν΄κ²°
key point, Nμ ν¬κΈ°κ° μμΌλ―λ‘ μ΄μ€ forλ¬Έ νμ©
- st λ³μλ λ€μμΌλ‘ κ°μμ λ°μμΌνλ νμμ λ²νΈμ΄λ€.
- st μ νμ¬ νμμ λ²νΈκ° μΌμΉν΄μΌλ§ κ°μμ λ°μ μ μλ€.
- λ§μ½ λ€λ₯΄λ€λ©΄, stackμ΄ λΉμ΄μλμ§ νμΈνλ€.
- λΉμ΄μμ§ μλ€λ©΄ μ€ν λ¨Όμ νμνλ€.
- νμμ΄ λλκ±°λ, μ μ΄μ λΉμ΄μμλ€λ©΄ stackμ μλλ€.
- nλ² λμ λ°λ³΅νλλ°(λ°λ³΅λ¬Έ μ’
λ£ ν)
- stackμ΄ λΉμ΄μλ€λ©΄ λͺ¨λ νμμ΄ κ°μμ λ°μ κ²μΌλ‘ Niceλ₯Ό μΆλ ₯
- stackμ νμλ€μ΄ λ¨μμλ€λ©΄, topμμΉμ μλ νμμ΄ κ°μμ λ°μμΌνλ νμμ λ³νΈ(st)μ μΌμΉνλμ§ νμΈνλ€.
- ν λ²μ΄λΌλ μΌμΉνμ§ μμλ€λ©΄, Sadλ₯Ό μΆλ ₯νκ³ μ’ λ£νλ€.
- whileλ¬Έμ μ μμ μΌλ‘ λλλ€λ©΄ Niceλ₯Ό μΆλ ₯νλ€.
μ½λ
λ©λͺ¨λ¦¬ | μκ° |
2024 KB | 0 ms |
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
27
28
29
30
31
32
|
#include<iostream>
int n, num;
int stack[10005], top, st = 1;
int main() {
scanf("%d", &n);
while (n--) {
scanf("%d", &num);
if (st == num) {
st++;
}
else {
while (top > 0 && stack[top - 1] == st) {
top--; st++;
}
stack[top++] = num;
}
}
while (top >= 1) {
if (st == stack[top - 1]) {
st++; top--;
}
else {
printf("Sad"); return 0;
}
}
printf("Nice");
return 0;
}
|
cs |
'π₯ PS(Problem Solving) π₯ > BOJ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ] #5670 ν΄λν° μν (0) | 2020.06.12 |
---|---|
[BOJ] #5052 μ νλ²νΈ λͺ©λ‘ (0) | 2020.06.08 |
[BOJ] #1406 μλν° (0) | 2020.06.02 |
[BOJ] #2164 μΉ΄λ2 (0) | 2020.06.02 |
[BOJ] #14830 κ²½μ¬λ‘ (0) | 2020.05.21 |
λκΈ