1. 이론 이 알고리즘은 중위 표기법에서 후위 표기법으로 전환한 후에 후위표기법을 실질적으로 계산하는 알고리즘이다. 이 부분은 전에 포스팅한 중위 표기법의 후위 표기법 변환 알고리즘보다는 훨씬 간단하다. 예외와 구현이 나름 쉬웠다. 이 부분은 학교 수업으로 공부하였다. - 후위표기식의 계산 알고리즘 후위표기식의 계산 알고리즘은 다음과 같다. 숫자가 나오면 무조건 스택에 Push 연산자가 나오면 스택에서 두개의 피연산자를 꺼내 계산한다. 연산자가 뺄셈 혹은 나눗셈인 경우 순서를 생각해야 한다. 이런 경우를 대비해 스택에서 나중에 꺼내진 연산자로부터 먼저 꺼내진 연산자에 대한 연산을 실행한다 계산된 연산자는 다시 스택에 넣어준다. 후위 표기식이 다 끝났다면 스택에 남아있는 피연산자가 식의 답이다. 이전 포스..
1. 이론 작년쯤에 공부했던 알고리즘을 교내 수업에서 만났고, 내가 얼마나 공부를 부실하게 했는지도 알게 되었다. 대충 이론만 기억나는 상태여서 처음부터 다시 손으로 쓰면서 공부했다. 많은 책과 인터넷 자료들을 참고 하였으며 최대한 예외를 예상하여 작성하여 알고리즘을 써내려 갔다. - 중위 표기법 중위 표기법이란 이름 그대로 피연산자들 사이에 연산자가 있는 표기법을 말한다. 우리가 기존에 알고있는 수식이 전부 중위 표기법이다. 다음 식을 보자. 17 + 5 위의 간단한 식을 보면 두개의 피연산자 (숫자) 사이에 연산자 (계산 기호) 가 있다. 연산자 옆의 두개의 피연산자로 계산을 하는 방식이 중위 표기법이다. - 후위 표기법 후위 표기법은 중위 표기법과는 다르게 피연산자들 뒤에 연산자가 있는 표기법을 말..
1. 개요 항상 무언가를 공부하거나 새로운 지식을 학습할 때, 알아야하는 것은 내가 학습하려는 것이 어디에 사용되고, 본질이 무엇인지에 대해서이다. 그러나 이것이 내가 공부하는 모든 지식에 적용되지는 않는 것 같다. 그 중 하나가 바로 자료구조이다. (적어도 나에게는) 자료구조라는 과목이 얼마나 중요한지는 유튜브에 '개발'이나 '프로그래밍' 이라는 키워드로 3분동안만 검색해봐도 알 수 있는 사실이다. 그렇게 악명 높은 코딩 테스트도 가장 기초가 되는 부분이 바로 자료구조라는 사실은 조금만 찾아봐도 알 수 있다. 그러나 나는 아직도 내가 배우는 이 자료구조들이 실무에서 어떤 모습으로 사용되는지는 알지 못한다. 그저 원리와 구현 방법 그리고 이론으로 설명되는 활용 방법과 응용 문제들을 푸는 수준이다. "이런..
1. 문제, 실행결과 예시 이번 문제는 stack()의 활용 문제이다. 이전 문제(10773번)는 기본적인 스택의 기능을 확인해보는 문제라면, 이번 문제는 스택을 가지고 어떻게 활용할 수 있는지에 대한 문제 같다. (적어도 나의 지식 한에서) 출처: https://www.acmicpc.net/problem/9012 9012번: 괄호 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)�� www.acmicpc.net 다행이도 소괄호만 해당하는 괄호 문자열을 다루는 문제였다 ㅎㅎ 사실 전에 중괄호와 대괄호까지 다뤄보는 문제를 마주친..
1. 문제와 실행결과 예시 이번 문제는 스택을 잘 알고있는 사람이라면 매우 쉽게 풀 수 있는 알고리즘 문제이다. (심지어 push()와 pop() 메소드만 구현하면 된다 ㄷㄷ) 그리고 바로 전에 풀었던 문제(10820번)에서 이미 스택을 구현했기 때문에, 런타임 에러 해결을 위한 구글링 시간을 제외한다면 10분도 걸리지 않았다! 다음은 10773번 문제에 대한 안내이다. 출처: https://www.acmicpc.net/problem/10773 흠......일단 문제만 봐서는 아직 잘 모르겠지만 (나만 그럴수도 ㅎ) 실행결과를 보면 구현해야할 코드가 확실해진다. 다음은 실행결과 예시이다. 2. 문제풀이 - stack() 구현 실행결과 예시를 보면 알겠지만 '0'을 입력받으면 pop()을 실행하고 '0'이..
- Total
- Today
- Yesterday
- Python
- 프로그래머스
- 코딩
- 백준알고리즘
- BaekJoon
- CJ 올리브네트웍스
- 구현
- 비트코인
- 문자열
- 육군
- CJ
- 코테
- 안드로이드 스튜디오
- C언어
- CJ Olivenetworks
- 백준
- 백준 알고리즘
- 개발자
- Spring Boot
- 자료구조
- XML
- Programmers
- java
- spring
- c++
- 코딩테스트
- 후기
- 알고리즘
- 안드로이드 프로그래밍
- 기록지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |