문제 링크: www.acmicpc.net/problem/1918 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 A~Z의 문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 수식 www.acmicpc.net 후위 표기식과 후위 표기식 변환 알고리즘에 대한 자세한 설명은 아래 포스트에서 확인할 수 있다. 후위 표기식과 변환 알고리즘에 대한 자세한 설명 후위 표기식 변환 및 계산 알고리즘 수식 표기 방법 수식 표기 방법에는 전위, 중위, 후위 표기법이 있다. 우리가 일반적으로 사용하는 표기법은 중위 표기법이다. 중위 표기법: 연산자가 피연산자 가운데 위치. 전위 표기법: 연산 crong-dev.t..
큐(Queue)란? 삽입과 제거가 한쪽 끝에서만 이루어지는 특수한 선형 리스트. 선입 선출(Fast-In-First-Out) 구조이다. 즉, 가장 먼저(옛날에) 들어온 데이터가 가장 먼저 나간다. 큐는 줄이라는 뜻이다. 줄을 섰다고 생각해보자. 맨 처음와서 기다린 사람이 제일 먼저 원하는 것을 받을 수 있는 것처럼 큐도 맨 처음 들어온 원소가 가장 먼저 나간다. 큐의 주요 연산 - enqueue() / push(): 큐에 원소 삽입 - dequeue() / pop(): 큐에서 원소 제거 (후 그 값을 반환) - front()/peek(): 제일 처음에 있는 원소 반환 - isEmpty(): 큐가 비었는지 확인 - isFull(): 큐가 가득 찼는지 확인 - size(): 큐의 원소 개수 반환 C++에서 ..
문제 링크: www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마 www.acmicpc.net 스택을 활용한 문제이다. 여는 괄호가 나왔을 때 스택에 넣어주고, 닫는 괄호가 나왔을 때 스택의 top(제일 최근에 들어간 여는 괄호)와 짝이 맞는지 확인한다. 짝이 맞지 않으면 flag를 false로 바꾸고 반복문을 탈출한다. 짝이 맞지 않는 경우가 없었어도 마지막에 여는 괄호만 나오고 닫는 괄호가 나오지 않았으면 올바른 문자열이 아니다. 이 경우 스택에 원소가 남아있다. flag가..
문제 링크: www.acmicpc.net/problem/1966 1966번: 프린터 큐 첫 줄에 test case의 수가 주어진다. 각 test case에 대해서 문서의 수 N(100이하)와 몇 번째로 인쇄되었는지 궁금한 문서가 현재 Queue의 어떤 위치에 있는지를 알려주는 M(0이상 N미만)이 주어진다. 다음 www.acmicpc.net 큐와 우선순위 큐를 활용해 해결하는 문제다. 입력받을 때 큐에 {문서의 순서, 중요도}를 pair를 활용해 저장했고, 우선순위큐에 중요도를 넣어주었다. 이후 큐에 있는 모든 문서가 처리될 때까지 while문으로 반복한다. 맨 앞에 있는 문서를 꺼낸 다음(q.pop()) 해당 문서의 중요도가 남아있는 모든 문서 중 가장 높은 중요도와 일치하면(현재 문서의 중요도가 가장..
문제 링크: www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 문제 설명: 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 문제 접근 방법: N은 1000이하의 자연수이므로 init()함수를 통해 1~1000까지 한수인지 아닌지를 배열 hansoo에 저장해뒀다. ha..
문제 링크: https://www.acmicpc.net/problem/10411041번: 주사위첫째 줄에 N이 주어진다. 둘째 줄에 주사위에 쓰여 있는 수가 주어진다. 위의 그림에서 A, B, C, D, E, F에 쓰여 있는 수가 차례대로 주어진다. N은 1,000,000보다 작거나 같은 자연수이고, 쓰여 있는 수www.acmicpc.net 주사위로 N*N*N크기의 정육면체를 만들었을 때 3면이 보이는 주사위, 2면이 보이는 주사위, 1면이 보이는 주사위의 개수를 구해서 각 개수를 3면이 보였을 때 최소 조합, 2면이 보였을 때 최소 조합, 주사위의 적힌 최소 숫자(1면이 보였을 때 최소 조합)에 곱해주면 된다.즉 (3면 최소조합)*(3면 보이는 주사위 개수) + (2면 최소조합)*(2면 보이는 주사위 ..
- Total
- Today
- Yesterday
- 컴퓨터과학
- 동적계획법
- Dash
- 카카오추천팀
- 개발
- c++
- 스택
- 후위표기식
- plotly
- 큐
- 회고
- sql
- MySQL
- 컴퓨터공학
- 리액트
- 백준
- 코테후기
- 자바스크립트
- JS
- 머신러닝
- 다이나믹프로그래밍
- 자료구조
- 우선순위큐
- 알고리즘
- React
- dfs
- reactjs
- 프로그래머스
- 코드포매터
- dash-plotly
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |