์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- C++
- maeil-mail
- SW
- JavaScript
- Python
- json-server
- redux
- ๋งค์ผ๋ฉ์ผ
- createSlice
- ํ ์ฝํ ์ฝ
- ํญํด99
- ์ด์ฝํ
- Get
- react-router
- Algorithm
- redux-toolkit
- ํญํดํ๋ฌ์ค
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ฝ๋ฉํ ์คํธํฉ๊ฒฉ์๋๊ธฐ
- react-redux
- axios
- ๋ฆฌ์กํธ
- ์๋ฐ
- useDispatch
- sw expert academy
- java
- programmers
- react
- ์๊ณ ๋ฆฌ์ฆ
- redux-saga
- Today
- Total
Binary Journey
[ํ ์ฝํ ์ฝ1.5 2-01] ์ปจํธ๋กค ์ ํธ ๋ณธ๋ฌธ
[ํ ์ฝํ ์ฝ1.5 2-01] ์ปจํธ๋กค ์ ํธ
binaryJournalist 2025. 2. 21. 13:21๐กํ ์ฝํ ์ฝ ์์ฆ 1.5 2ํ ๋ชจ์ off-site ๋ฌธ์ ํ์ด์ ๋๋ค. (2025.01.19)
๋ฌธ์
์ถ์ฒ: ํ๋ก๊ทธ๋๋จธ์ค - ์ปจํธ๋กค ์ ํธ
๋ด์ฉ
์ซ์์ "Z"๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ๋ด๊ธด ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋๋ค. ๋ฌธ์์ด์ ์๋ ์ซ์๋ฅผ ์ฐจ๋ก๋๋ก ๋ํ๋ ค๊ณ ํฉ๋๋ค. ์ด ๋ "Z"๊ฐ ๋์ค๋ฉด ๋ฐ๋ก ์ ์ ๋ํ๋ ์ซ์๋ฅผ ๋บ๋ค๋ ๋ป์
๋๋ค. ์ซ์์ "Z"๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด s
๊ฐ ์ฃผ์ด์ง ๋, ๋จธ์ฑ์ด๊ฐ ๊ตฌํ ๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์.
๊ธฐ๋กํ๊ธฐ
๐ก ์ด๋๊น์ง ์๊ฐํด๋ดค๋์ง ๋จ๊ณ์ ์ผ๋ก ๊ธฐ๋กํด๋ด ๋๋ค.
์ด๋ค ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํ๋ ค ํ๋์?
์คํ ์ฌ์ฉ ํ๋ค.
์ ์ฉ ๊ทผ๊ฑฐ๋ ๋ฌด์์ธ๊ฐ์?
"Z"๊ฐ ๋์ค๋ฉด ๋ฐ๋ก ์ ์ ๋ํ๋ ์ซ์๋ฅผ ๋บ๋ค๋ ๊ฒ์ ๋ด์ ๋ฐ๋ก ์ง์ ์ ์์ top ์ ์ ๊ฑฐํ๋ ๊ฒ์ผ๋ก ์ดํดํ๋ค.
๋ฌธ์ ํ์ด ๊ณผ์ ์์ ํด๋น ์๊ณ ๋ฆฌ์ฆ์ ์ด๋ป๊ฒ ์ฝ๋๋ก ๊ตฌํํ๋ ค ํ๋์?
- Z ๋ง๋๋ฉด top pop
- stack ์ ๊ฐ ๋ชจ๋ ๋ํ๊ธฐ
ํ์ด
ํ์ด ์๊ฐ
์์ ์๊ฐ | ์ข ๋ฃ ์๊ฐ | ์ด ์์ ์๊ฐ |
---|---|---|
16:13 | 16:22 | 9๋ถ |
๋ฌธ์ ๋ถ์
์ ์ฝ ์ฌํญ ํ์ & ํ ์คํธ ์ผ์ด์ค ์์ฑ
- 1 ≤
s
์ ๊ธธ์ด ≤ 200 - -1,000 <
s
์ ์์ ์ค ์ซ์ < 1,000 s
๋ ์ซ์, "Z", ๊ณต๋ฐฑ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.s
์ ์๋ ์ซ์์ "Z"๋ ์๋ก ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.- ์ฐ์๋ ๊ณต๋ฐฑ์ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
- 0์ ์ ์ธํ๊ณ ๋ 0์ผ๋ก ์์ํ๋ ์ซ์๋ ์์ต๋๋ค.
s
๋ "Z"๋ก ์์ํ์ง ์์ต๋๋ค.s
์ ์์๊ณผ ๋์๋ ๊ณต๋ฐฑ์ด ์์ต๋๋ค.- "Z"๊ฐ ์ฐ์ํด์ ๋์ค๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
์ ๋ ฅ๊ฐ ๋ถ์
๐ก ์ ๋ ฅ๊ฐ์ ๋ถ์ํ๋ฉด ๋ฌธ์ ์์ ์๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ ์ ์ผ๋ก ํ์ ํ ์ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
s | result |
---|---|
"1 2 Z 3" | 4 |
"10 20 30 40" | 100 |
"10 Z 20 Z 1" | 1 |
"10 Z 20 Z" | 0 |
"-1 -2 -3 Z" | -3 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ๋ณธ๋ฌธ๊ณผ ๋์ผํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- 10 + 20 + 30 + 40 = 100์ return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #3
- "10 Z 20 Z 1"์์ 10 ๋ค์ Z, 20 ๋ค์ Z๋ก 10, 20์ด ์ง์์ง๊ณ 1๋ง ๋ํ์ฌ 1์ return ํฉ๋๋ค.
์์ฌ ์ฝ๋ ์์ฑ
๐ก ์์ฌ ์ฝ๋๋ ๋์ ์ค์ฌ์ผ๋ก ์์ฑํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
๐ก ์์ฌ ์ฝ๋๋ ๋ฌธ์ ํด๊ฒฐ ์์๋ก ์์ฑํฉ๋๋ค.
๐ก ์์ฌ ์ฝ๋๋ฅผ ์ถฉ๋ถํ ํ ์คํธํด๋ด ๋๋ค.
solution() {
// 1. ์คํ ์์ฑ
// 2. String s split
// 3. for ๋ฌธ
for (s) {
// 4. z ๋ง๋๋ฉด pop()
}
return stack์ ํฉ
}
๊ตฌํ
import java.util.Stack;
class Solution {
public int solution(String s) {
Stack<Integer> stack = new Stack<>();
String[] array = s.split(" ");
for (String a : array) {
if (a.equals("Z")) {
if (!stack.isEmpty()) stack.pop();
} else {
stack.push(Integer.parseInt(a));
}
}
int answer = 0;
while (!stack.isEmpty()) {
answer += stack.pop();
}
return answer;
}
}
'Algorithm > ํ ์ฝํ ์ฝ1.5(2025)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ ์ฝํ ์ฝ1.5 2-05] ๋ง๋๊ธฐ (0) | 2025.02.21 |
---|---|
[ํ ์ฝํ ์ฝ1.5 2-02] ๊ฐ์ ์ซ์๋ ์ซ์ด (0) | 2025.02.21 |
[ํ ์ฝํ ์ฝ1.5 1-12] ๋ฐ์ดํฐ ๋ถ์ (0) | 2025.01.14 |
[ํ ์ฝํ ์ฝ1.5 1-11] ์ด์ํ ์นธ (0) | 2025.01.14 |
[ํ ์ฝํ ์ฝ1.5 1-10] ๊ฐ์ฅ ๋ง์ด ๋ฐ์ ์ ๋ฌผ (0) | 2025.01.14 |