Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Android
- 내부프레그먼트
- 사무실
- SAA
- 공유오피스
- media3 transformer
- 중첩네비게이션
- MVVM
- Kotlin
- 패스트파이브
- 스택
- 자바
- 알고리즘
- 후기
- 패파
- 너무 어렵다
- 파이썬
- fragmentcontainer
- Stack
- rxandroid
- 싱글액티비티
- media3
- 백준
- 코틀린
- 재밌긴함
- parentfragment
- childfragment
- 안드로이드
- innernavigation
- 아키텍쳐
Archives
삽질도사
[백준] 단어뒤집기2 17413 자바 본문
스택을 사용하면 편하게 풀 수 있는 문제였습니다.
단번에 풀기는 어렵지만, 처음에 코드를 계획할 때 잘 구상하였다면,
큰 오류없이 해결할 수 있습니다.
태그자체도 결과에 나와야한다는 조건을 뒤늦게 보는 바람에 계획이 틀어졌지만,
원래의 코드와 큰 차이가 없어서 추가적으로 코드를 작성하는 것으로써 다행히 쉽게 수정할 수 있었습니다.
또한 태그의 앞뒤로는 공백이 없이 결과값이 나와야 하기에 그 부분이 조금 애를 먹었지만, 금방 해결봤습니다.
일반적인 경우를 함수로 놓고, 태그를 만났을 때에 그 함수를 사용하는 것이 좀 더 깔끔한 코드가 될 것 같습니다만,
저는 뒤늦게 깨달아서 빨리 풀려고 이대로 제출했습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
public class 단어뒤집기2 {
static String str, res = "";
static Stack<Character> stk = new Stack<>();
static int idx;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
str = br.readLine();
for (int x = 0; x < str.length(); x++) {
char next = str.charAt(x);
if (next == ' ') { //공백
write(); // 단어 뒤집기
res+=" "; // 공백을 만나서 뒤집었다면 공백이 필요 (참고: 꺽쇠라면 필요 x)
continue;
}
if (next == '<') { //꺽쇠
write(); // 단어 뒤집기
for(int q = x; q<str.length(); q++) { //닫히는 꺽쇠만날 때까지
char in_next = str.charAt(q);
res+=in_next; //태그안에 내용은 그대로 저장
if(in_next == '>') { //닫히는 꺽쇠 인덱스로 변환
x = q;
break;
}
}
continue;
}
stk.add(next); //아무것도 아니면 그냥 스택에 저장
}
write();
System.out.println(res);
}
private static void write() { //스택을 모두 팝함으로써 단어 뒤집음
while (!stk.isEmpty()) {
res += stk.pop();
}
}
}
'백준' 카테고리의 다른 글
[백준] 빗물 14719 자바 (0) | 2021.03.24 |
---|---|
[백준] 달력 20207 자바 (0) | 2021.03.23 |
[백준] 배열돌리기1 16926 자바 (0) | 2021.03.12 |
[백준] 행복 유치원 13164 자바 (0) | 2021.03.12 |
[백준] 파일정리 20291 자바 (0) | 2021.03.12 |