[BaekJoon] 17413 단어 뒤집기 2 (Java)
🔗 문제 링크
https://www.acmicpc.net/problem/17413
👨🏻💻 작성한 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
StringBuilder input = new StringBuilder(str);
StringBuilder result = new StringBuilder();
int startTag;
int endTag;
int space;
while (input.length() > 0) {
startTag = input.indexOf("<");
endTag = input.indexOf(">");
space =input.indexOf(" ");
if (startTag == -1) startTag = 100000;
if (endTag == -1) endTag = 100000;
if (space == -1) space = 100000;
int endPosition;
// 태그가 앞에 있는 경우
if (startTag == 0) {
result.append(input.subSequence(0, endTag+1));
endPosition = endTag;
input.delete(0, endPosition+1);
}
// 마지막 단어인 경우
else if (startTag == 100000 && endTag == 100000 && space == 100000) {
result.append(input.reverse());
input.delete(0, input.length());
}
// 그 외의 경우
else {
endPosition = startTag < space? startTag:space;
if (startTag < space) {
endPosition = startTag;
for (int i=endPosition-1; i>=0; i--) {
result.append(input.charAt(i));
}
input.delete(0, endPosition);
}
else {
endPosition = space;
for (int i=endPosition-1; i>=0; i--) {
result.append(input.charAt(i));
}
result.append(' ');
input.delete(0, endPosition+1);
}
}
}
System.out.println(result.toString());
}
}
Author And Source
이 문제에 관하여([BaekJoon] 17413 단어 뒤집기 2 (Java)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@seongwon97/BaekJoon-17413-단어-뒤집기-2-Java저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)