알고리즘 분류

  • 난이도 : 실버4
  • 구현 언어 : 자바
  • 소요시간 : 45분
  • 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;

public class Stack1 {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); 
		
		int cnt = Integer.parseInt(bf.readLine());  // 총 입력 횟수
		Stack<Integer> stack = new Stack<>();
		
		for (int i = 0; i < cnt; i++) {
			String input = bf.readLine();
			if(input.equals("top")) {
				if(stack.empty() == false) {  //stack에 값이 있다면
					System.out.println(stack.peek());
				}else {
					System.out.println(-1);
				}
			}else if(input.equals("size")) {
				System.out.println(stack.size());
			}else if(input.equals("empty")) {
				int temp;
				boolean bool = stack.empty();
				if(bool == false) {
					temp = 0;
				}else{
					temp = 1;
				};
				System.out.println(temp);
			}else if(input.equals("pop")) {
				if(stack.empty() == false) {
					System.out.println(stack.pop());
				}else {
					System.out.println(-1);
				}
			}else {
				//String val = input.split("h")[1].strip();
                String val = input.split(" ")[1];
				int intVal = Integer.parseInt(val);
				stack.push(intVal);	
			}
		}
	}

}

 

자바 문법

  • split("h") : h를 기준으로 잘라서 배열에 담는다.
  • split("h")[1] : 배열의 1번자리
  • strip() : 공백 제거
  • split(" ") : 공백을 기준으로 잘라서 배열에 담는다.

 

split(String regex);

 -> 구분자를 바탕으로 배열 형식으로 문자열을 잘라줍니다

split(String regex, int limit);

 -> 구분자를 바탕으로 배열 형식으로 문자열을 자르지만 limit 수만큼 잘라줍니다



 

 

출처

+ Recent posts