'알고리즘' 카테고리의 다른 글
Queue -java (0) | 2019.01.23 |
---|---|
후위 표현식 계산하기 (0) | 2019.01.22 |
후위 표현식 만들기 (stack) - java (0) | 2019.01.22 |
Queue -java (0) | 2019.01.23 |
---|---|
후위 표현식 계산하기 (0) | 2019.01.22 |
후위 표현식 만들기 (stack) - java (0) | 2019.01.22 |
기본 개념과 구조는 이렇게 있다.
BufferedReader 로 입출력 속도 단축하기 (0) | 2019.01.23 |
---|---|
후위 표현식 계산하기 (0) | 2019.01.22 |
후위 표현식 만들기 (stack) - java (0) | 2019.01.22 |
후위 표현식 계산하기
후위 표현식으로 만들고, 그 후위 표현식을 계산할려면
기본 개념은 이렇다.
stack 구조를 하나 만들고
후위 표현식으로 바꾼 문자열을 순서대로 읽었을때 들어가는 글자 하나 하나가 만약 숫자면 스택에 두고 연산자 이면 스택에 쌓은 숫자를 2개 꺼내서 계산하고 다시 스택에 저장하는 방식으로 계산한다.
이때 중요한점은 먼저 꺼내는 값이 num2 즉 저기 연산에서 2-8// 8에 들어 가야한다 그리고 다음에 꺼내는 값이 num1에 들어가고 계산해서 다시 스택에 쌓아주면 된다.
BufferedReader 로 입출력 속도 단축하기 (0) | 2019.01.23 |
---|---|
Queue -java (0) | 2019.01.23 |
후위 표현식 만들기 (stack) - java (0) | 2019.01.22 |
후위 표현식
후위 표현식을 만들기 위해서는 연산자의 순서 우선순위를 알아두면 좋다
3가지로 구분해서 외우면 편할거 같은데
icp 연산에서 ( 는 우선순위가 3이라 가장 높다 따라서 ( 들어갈때는 무조건 스택에 쌓으면 된다
다음 *, / 연산은 *,/ 만났을때만 꺼내고 나머지는 쌓는다
+,- 연산은 *,/,+,- 만났을때 꺼내고 나머지는 쌓는다
) 는 ( 만날때 까지 꺼내고 만약 stack[top]==( 면 ( 삭제하기 위해서 top을 한번더 빼준다.
마지막으로는 스택에 남은 모든 값들을 출력해주면 후위표현식이 만들어 진다.
* 진짜 개 꿀팁 -
후위 표현식을 만들고 계산을 해야하는데 나오는 값을 다른 배열에 넣지말고
String a ="";
이런 문자열 하나 만들어서 그 뒤에 계속 문자열로 붙여주면 진짜 쉽게 만들 수 있다
BufferedReader 로 입출력 속도 단축하기 (0) | 2019.01.23 |
---|---|
Queue -java (0) | 2019.01.23 |
후위 표현식 계산하기 (0) | 2019.01.22 |
타입 상속을 하는 이유 (0) | 2019.01.20 |
---|---|
#Wrapper class 기본형 데이터를 참조형(클래스)로 바꿈 (0) | 2019.01.19 |
Java #StringBuilder 문자열을 편집하여 사용하고자 할 경우! (0) | 2019.01.19 |
Java #String 클래스 (0) | 2019.01.19 |
#equals(Object o) : boolean - 객체의 내용을 비교 (0) | 2019.01.19 |
[JAVA] Set (0) | 2019.01.20 |
---|---|
[JAVA]- 리스트 ArrayListTest, Vector (0) | 2019.01.20 |
[JAVA]-#Collection API (0) | 2019.01.20 |
[JAVA]- instance of 연산자 (0) | 2019.01.20 |
[JAVA]-interface (0) | 2019.01.20 |
[JAVA]- Map (0) | 2019.01.20 |
---|---|
[JAVA]- 리스트 ArrayListTest, Vector (0) | 2019.01.20 |
[JAVA]-#Collection API (0) | 2019.01.20 |
[JAVA]- instance of 연산자 (0) | 2019.01.20 |
[JAVA]-interface (0) | 2019.01.20 |
[JAVA]- Map (0) | 2019.01.20 |
---|---|
[JAVA] Set (0) | 2019.01.20 |
[JAVA]-#Collection API (0) | 2019.01.20 |
[JAVA]- instance of 연산자 (0) | 2019.01.20 |
[JAVA]-interface (0) | 2019.01.20 |
[JAVA] Set (0) | 2019.01.20 |
---|---|
[JAVA]- 리스트 ArrayListTest, Vector (0) | 2019.01.20 |
[JAVA]- instance of 연산자 (0) | 2019.01.20 |
[JAVA]-interface (0) | 2019.01.20 |
[JAVA]-abstract (0) | 2019.01.20 |
instance of 연산자
[JAVA]- 리스트 ArrayListTest, Vector (0) | 2019.01.20 |
---|---|
[JAVA]-#Collection API (0) | 2019.01.20 |
[JAVA]-interface (0) | 2019.01.20 |
[JAVA]-abstract (0) | 2019.01.20 |
[JAVA]- static (0) | 2019.01.19 |
interface field 는 기본적으로 public static final 수식어가 붙는다
interface method 는 기본적으로 public, abstract 붙어있다.
때문에 interface의 추상 메소드를 재정의 할때는 무조건 public을 적어줘야 한다. 상속받은 메소드 보다 접근제한자가
커져야 하는데 그 전 메소드가 public 이기 때문이다 .
interface를 implements 하면 무조건 모든 추상메소드를 재정의해줘야한다.
[JAVA]-#Collection API (0) | 2019.01.20 |
---|---|
[JAVA]- instance of 연산자 (0) | 2019.01.20 |
[JAVA]-abstract (0) | 2019.01.20 |
[JAVA]- static (0) | 2019.01.19 |
[JAVA]- final (0) | 2019.01.19 |
Design pattern (설계패턴) - #Singleton pattern (0) | 2019.01.20 |
---|---|
#Wrapper class 기본형 데이터를 참조형(클래스)로 바꿈 (0) | 2019.01.19 |
Java #StringBuilder 문자열을 편집하여 사용하고자 할 경우! (0) | 2019.01.19 |
Java #String 클래스 (0) | 2019.01.19 |
#equals(Object o) : boolean - 객체의 내용을 비교 (0) | 2019.01.19 |
[JAVA]- instance of 연산자 (0) | 2019.01.20 |
---|---|
[JAVA]-interface (0) | 2019.01.20 |
[JAVA]- static (0) | 2019.01.19 |
[JAVA]- final (0) | 2019.01.19 |
[JAVA]-Java Reference Type Casting (0) | 2019.01.19 |
[JAVA]-interface (0) | 2019.01.20 |
---|---|
[JAVA]-abstract (0) | 2019.01.20 |
[JAVA]- final (0) | 2019.01.19 |
[JAVA]-Java Reference Type Casting (0) | 2019.01.19 |
[JAVA]-Java 상속 (0) | 2019.01.19 |
[JAVA]-abstract (0) | 2019.01.20 |
---|---|
[JAVA]- static (0) | 2019.01.19 |
[JAVA]-Java Reference Type Casting (0) | 2019.01.19 |
[JAVA]-Java 상속 (0) | 2019.01.19 |
[JAVA]-Java Encapsulation (0) | 2019.01.19 |
Design pattern (설계패턴) - #Singleton pattern (0) | 2019.01.20 |
---|---|
타입 상속을 하는 이유 (0) | 2019.01.20 |
Java #StringBuilder 문자열을 편집하여 사용하고자 할 경우! (0) | 2019.01.19 |
Java #String 클래스 (0) | 2019.01.19 |
#equals(Object o) : boolean - 객체의 내용을 비교 (0) | 2019.01.19 |
타입 상속을 하는 이유 (0) | 2019.01.20 |
---|---|
#Wrapper class 기본형 데이터를 참조형(클래스)로 바꿈 (0) | 2019.01.19 |
Java #String 클래스 (0) | 2019.01.19 |
#equals(Object o) : boolean - 객체의 내용을 비교 (0) | 2019.01.19 |
Java #toString (0) | 2019.01.19 |
#Wrapper class 기본형 데이터를 참조형(클래스)로 바꿈 (0) | 2019.01.19 |
---|---|
Java #StringBuilder 문자열을 편집하여 사용하고자 할 경우! (0) | 2019.01.19 |
#equals(Object o) : boolean - 객체의 내용을 비교 (0) | 2019.01.19 |
Java #toString (0) | 2019.01.19 |
#Reference Type Casting (0) | 2019.01.19 |
Java #StringBuilder 문자열을 편집하여 사용하고자 할 경우! (0) | 2019.01.19 |
---|---|
Java #String 클래스 (0) | 2019.01.19 |
Java #toString (0) | 2019.01.19 |
#Reference Type Casting (0) | 2019.01.19 |
#문자열 공백 제거 Trim() 함수 (0) | 2019.01.19 |
Java #String 클래스 (0) | 2019.01.19 |
---|---|
#equals(Object o) : boolean - 객체의 내용을 비교 (0) | 2019.01.19 |
#Reference Type Casting (0) | 2019.01.19 |
#문자열 공백 제거 Trim() 함수 (0) | 2019.01.19 |
#배열에 객체가 넘어갔을때 (0) | 2019.01.19 |