[2021 하계 모각코] 4회차 결과

규리(●'◡'●)·2021년 7월 28일
0

2021 하계 모각코

목록 보기
9/14

목표 - 스택, DFS와 BFS문제를 해결한다

[4회차] - 7/28 17:00~20:00
스택
DFS와 BFS

결과

스택 문제를 통해 스택의 개념에 대해 처음 접해보았기 때문에 java의 Stack 클래스가 아닌 ArrayList로 직접 구현해가며 이해하며 문제를 풀어보았다.
DFS와 BFS DFS와 BFS의 개념을 이해하는데에 너무 많은 시간을 소비하였고, 난이도가 높다고 느껴져 문제는 해결하지 못하였다.

[1차 목표] 스택
▼소스코드

import java.util.*;
import java.io.*;
public class stack_10828 {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		ArrayList<Integer> stack = new ArrayList<>();
		int len = Integer.parseInt(br.readLine());
		for (int i = 0; i < len; i++) {
			String val = br.readLine();
			if (val.contains("push")) {
				stack.add(Integer.parseInt(val.replace("push ","")));
			} else if (val.contains("pop")) {
				try {
					int tmp = stack.get(stack.size()-1);
					stack.remove(stack.size()-1);
					bw.write(String.valueOf(tmp)+"\n");
				} catch(Exception e) {
					bw.write("-1"+"\n");
				}
			} else if (val.contains("top")) {
				try {
					bw.write(String.valueOf(stack.get(stack.size()-1))+"\n");
				} catch(Exception e) {
					bw.write("-1"+"\n");
				}
			} else if (val.contains("size")) {
				bw.write(String.valueOf(stack.size())+"\n");
			} else if(val.contains("empty")) {
				int tmp = (stack.size() == 0) ? 1 : 0;
				bw.write(String.valueOf(tmp)+"\n");
			}
		}
		bw.flush();
		bw.close();
	}
}

0개의 댓글