ํฐ์คํ ๋ฆฌ ๋ทฐ
[๋ฌธ์ ]
https://www.acmicpc.net/problem/5430
5430๋ฒ: AC
๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด์, ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์ ์ ๋ฐฐ์ด์ ํจ์๋ฅผ ์ํํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. ๋ง์ฝ, ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ์๋ error๋ฅผ ์ถ๋ ฅํ๋ค.
www.acmicpc.net


[ํ์ด]
์๋์ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํด์ ํ์ดํ์์ต๋๋ค.
https://girawhale.tistory.com/9
[๋ฐฑ์ค] 5430๋ฒ: AC - JAVA
๋ฌธ์ ๋งํฌ BOJ 5430๋ฒ: AC 5430๋ฒ: AC ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด์, ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์ ์ ๋ฐฐ์ด์ ํจ์๋ฅผ ์ํํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. ๋ง์ฝ, ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ์๋ error๋ฅผ ์ถ๋ ฅํ๋ค. www.acmicpc.net ํ์ด ๊ณผ
girawhale.tistory.com
๋ฐฐ์ด์ ์ง์ ๋ค์ง๋ ๊ฒ์ด ์๋๋ผ, start์ end์ ์ ์ง์ ํด๋๊ณ ๋๊ฐ๋ฅผ swapํด์ฃผ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ์ด์ค์ด์์ผ๋, ์๊พธ ๋ฐํ์ ์๋ฌ๊ฐ ๋์ ํ์ธํด๋ณด๋ ์ด๋ฐ์ ๋ฐฐ์ด์ ์ด๊ธฐํ ํ๋ ๊ณผ์ ์์ ์ซ์๋ฅผ ์๋ชป ๋ฝ์๋ด๊ณ ์์์ต๋๋ค.ใ ใ ๋ํ ํ์ด๋ฅผ ์ดํด๋ณด๋ Deque๋ฅผ ํ์ฉํ๋ค๋ฉด, ์ฝ๊ฒ ์ ๋ค๋ฅผ ์๋ผ๋ผ์ ์๋ค๋๊ฑธ ์๊ฒ๋์๊ณ Deque๋ฅผ ํ์ฉํ ํ์ด๋ฒ์ผ๋ก ์งํํ์์ต๋๋ค.
์ฐ์ Stringํ์์ผ๋ก ๋ค์ด์ค๋ ๋ฐฐ์ด๊ฐ์ ๋งจ์([),๋งจ๋ค(])๋ฅผ ์๋ผ๋ธ ํ, ","์ ๊ธฐ์ค์ผ๋ก split()ํ์ฌ ์ซ์๋ค์ ๋ฝ์๋ธ ํ Deque์ ์ ์ฅํ์์ต๋๋ค.
String arr = br.readLine();
Deque<Integer> deque = new LinkedList<>();
for (String s : arr.substring(1, arr.length() - 1).split(",")) {
if (!s.equals("")) {
deque.add(Integer.valueOf(s));
}
}
๋ค์์ผ๋ก ACํจ์๋ฅผ ํตํด ์ํํด์ผํ ๋์๋ค์ธ f๋ฅผ ํ์ํ๋ฉฐ R๊ณผ D๋ฅผ ์ํํ์์ต๋๋ค.
๋ง์ฝ R์ด ๋ค์ด์จ๋ค๋ฉด, ๊ฐ์ ์ญ์ ํ๋ ๊ธฐ์ค๊ฐ First์ Last๋ฅผ ๋ฐ๊ฟ์ฃผ์์ต๋๋ค. D๊ฐ ๋ค์ด์์๋ Deque๊ฐ ๋น์ด์๋ค๋ฉด error๋ฅผ ์ถ๋ ฅํ์๊ณ , ๋น์ด์์ง ์๋ค๋ฉด ๊ธฐ์ค๊ฐ์ด ๋ฐ๋ผ๋ณด๋ First๋ Last์์ ๊ฐ์ ์ ๊ฑฐํ์์ต๋๋ค.
[์ฝ๋]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Deque;
import java.util.LinkedList;
import java.util.List;
public class Main {
// R : ๋ค์ง๊ธฐ
// D : ์ฒซ๋ฒ์งธ ์ ๋ฒ๋ฆฌ๊ธฐ
public static StringBuffer sb = new StringBuffer();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for(int i=0;i<T;i++) {
String f = br.readLine();
int n = Integer.parseInt(br.readLine());
String arr = br.readLine();
Deque<Integer> deque = new LinkedList<>();
for (String s : arr.substring(1, arr.length() - 1).split(",")) {
if (!s.equals("")) {
deque.add(Integer.valueOf(s));
}
}
AC(deque, f);
}
}
public static void AC(Deque<Integer> deque, String f) {
boolean reverse = false;
for(int i=0;i<f.length();i++) {
if(f.charAt(i) == 'R') {
reverse = !reverse;
} else {
if(deque.size() == 0) {
System.out.println("error");
return;
}
if(reverse) {
deque.removeLast();
} else {
deque.removeFirst();
}
}
}
StringBuilder s = new StringBuilder("[");
while(!deque.isEmpty()) {
s.append(reverse ? deque.removeLast() : deque.removeFirst());
if(deque.size() != 0) {
s.append(",");
}
}
s.append(']');
System.out.println(s);
}
}
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ๋ฐฑ์ค 2011๋ฒ - ์ํธ์ฝ๋ (0) | 2022.07.17 |
---|---|
[Java] ๋ฐฑ์ค 16500๋ฒ - ๋ฌธ์์ด ํ๋ณ (0) | 2022.07.15 |
[Java] ๋ฐฑ์ค 2110๋ฒ - ๊ณต์ ๊ธฐ ์ค์น (0) | 2022.06.28 |
[Java] ๋ฐฑ์ค 7453๋ฒ - ํฉ์ด 0์ธ ๋ค ์ ์ (0) | 2022.06.28 |
[Java] ๋ฐฑ์ค 9466๋ฒ - ํ ํ๋ก์ ํธ (0) | 2022.06.28 |
- Total
- Today
- Yesterday
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์ด๋ถํ์
- ๋คํธ์ํฌ
- ์๋ฐ
- ํ๋ก๊ทธ๋๋จธ์ค
- 2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด
- TDD
- JavaScript
- http
- ๋ฐฑ์ค node.js
- ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ
- map
- ํ๋กํ ์ฝ
- fp
- ๋์์ธ ํจํด
- ๋ฐฑ์ค javascript
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ
- git
- ๋ฐฑ์ค
- ์นด์นด์ค ์ธํด
- ํ๋กํผํฐ
- ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
- ์ด์์ฒด์
- ํฌํฌ์ธํฐ
- ์ ์ญ ๋ณ์
- ๋ ์์ปฌ ํ๊ฒฝ
- ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ deep dive
- ์๊ณ ๋ฆฌ์ฆ
- Baekjoon
- ์ฝ๋ฉํ ์คํธ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |