Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Scanner;
- import java.util.Stack;
- public class HDNLToy2 {
- public static Scanner scanner = new Scanner(System.in);
- public static void main(String[] args) {
- ArrayList<String> list = new ArrayList<>();
- int n = Integer.parseInt(scanner.nextLine());
- for (int i = 0; i < n; i++) {
- list.add(scanner.nextLine());
- }
- indentationStation(list);
- }
- public static void indentationStation(ArrayList<String> list) {
- Stack<String> stack = new Stack<>();
- int numberOne;
- int numberTwo;
- stack.add(list.get(0));
- System.out.printf("<" + stack.peek() + ">%n");
- for (int i = 1; i < list.size(); i++) {
- numberOne = Integer.parseInt(list.get(i).substring(1));
- numberTwo = Integer.parseInt(list.get(i - 1).substring(1));
- if (numberOne > numberTwo) {
- stack.add(list.get(i));
- System.out.printf("%1$" + (Math.max(stack.size() - 1, 1)) + "s<" + stack.peek() + ">%n", "");
- } else {
- if (!stack.isEmpty()) {
- while (!stack.isEmpty()) {
- int numberThree = Integer.parseInt(stack.peek().substring(1));
- if (numberThree >= numberOne) {
- System.out.printf("%1$" + (Math.max(stack.size() - 1, 1)) + "s</" + stack.peek() + ">%n", "");
- stack.pop();
- } else {
- stack.add(list.get(i));
- System.out.printf("%1$" + (Math.max(stack.size() - 1, 1)) + "s<" + stack.peek() + ">%n", "");
- break;
- }
- }
- if (stack.isEmpty()) {
- stack.add(list.get(i));
- System.out.printf("<" + stack.peek() + ">%n");
- }
- } else {
- stack.add(list.get(i));
- System.out.printf("s<" + stack.peek() + ">%n");
- }
- }
- }
- if (!stack.isEmpty()) {
- int numberFour = stack.size();
- for (int i = 0; i < numberFour; i++) {
- System.out.printf("%1$" + (Math.max(stack.size() - 1, 1)) + "s</" + stack.pop() + ">%n", "");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement