Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Archives
Today
Total
관리 메뉴

UpDown Dev Story

후위식 연산 (Stack) 본문

Algorithm

후위식 연산 (Stack)

updown 2021. 7. 6. 04:03

아래 강의를 보면서 연습하고 기록하고 있습니다

https://www.inflearn.com/course/%EC%9E%90%EB%B0%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-%EC%BD%94%ED%85%8C%EB%8C%80%EB%B9%84

 

자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 - 인프런 | 강의

자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성

www.inflearn.com

문제

코드

import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		String input = sc.next();
		Stack<Integer> stack = new Stack<>();
		for (char c : input.toCharArray()) {
			if (Character.isDigit(c)) {
				stack.push(c - 48); // 아스키 코드 값으로 48이 0이므로 제대로 계산되려면 꼭 48 뺴야함
			} else {
				int right = stack.pop();
				int left = stack.pop();
				switch (c) {
					case '+':
						stack.push(left + right);
						break;
					case '-':
						stack.push(left - right);
						break;
					case '/':
						stack.push(left / right);
						break;
					case '*':
						stack.push(left * right);
						break;
				}
			}

		}
		System.out.println(stack.get(0).intValue());
	}
}

'Algorithm' 카테고리의 다른 글

교육과정 설계 (Queue)  (0) 2021.07.07
공주 구하기 (Queue)  (0) 2021.07.06
아나그램 (HashMap)  (0) 2021.07.05
알고리즘 연습 - K번째 큰 수 ( TreeSet )  (0) 2021.06.23
알고리즘 연습 - 학급회장(HashMap)  (0) 2021.06.23
Comments