문제 링크: www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net C++의 스택 STL을 사용해 문제를 해결했다. 아래 포스트 참고 : crong-dev.tistory.com/13 [자료구조] 스택(stack) / 백준 10828 (C++) 지난 포스트에서 스택에 대해 알아보았다. 이전 포스트: https://crong-dev.tistory.com/10 [자료구조] 스택(stack) / 백준 10828 (C) 스택이란? 삽입과 제거가 한쪽 끝에서..
지난 포스트에서 스택에 대해 알아보았다. 이전 포스트: https://crong-dev.tistory.com/10 [자료구조] 스택(stack) / 백준 10828 (C) 스택이란? 삽입과 제거가 한쪽 끝에서만 이루어지는 특수한 선형 리스트. 후입 선출(Last-In-First-Out) 구조이다. 즉, 가장 마지막에(최신에) 들어온 데이터가 가장 먼저 나간다. 스택의 주요 연산 - p crong-dev.tistory.com 이번 포스트에서는 c++에서 스택 사용법에 대해 알아보겠다. C++에서는 지난 포스트에서 C언어로 한 것 처럼 함수를 일일이 구현할 필요가 없다. 스택 헤더가 있기 때문이다! #include 위 처럼 스택 헤더를 include해주면 된다. 스택 생성 방법 // stack 스택 변수 이..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/c3m8TX/btqNU2JRwUH/sppq74N9Gaoc7tklKohkkK/img.png)
백준에서 소스 코드 채점했을 때 컴파일 에러가 뜨는 경우가 있습니다. "컴파일 에러" 문구를 클릭하면 에러 로그를 보여줍니다. 컴파일 에러 문구를 클릭하면 아래와 같은 에러 로그를 볼 수 있습니다. 확인하시고 디버깅해보세요! 개인 IDE에서는 잘 돌아가는데 백준에서는 안 된다면? 1. 언어 설정을 잘못한 경우 제대로 언어 설정을 했는지 확인해보세요. 2. 제대로 import/include를 안 해준 경우 IDE에서는 명시적으로 import/include하지 않아도 알아서 해당하는 헤더 혹은 라이브러리 등을 찾아 사용하는 경우가 있습니다. 그럴 때는 아래와 같은 온라인 IDE에서 확인해봅시다. ideone.com/ Ideone.com Ideone is something more than a pastebin..
문제 링크: www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 소스 코드: #include #include #define MAX_STACK_SIZE 10000 int stack[MAX_STACK_SIZE]; // 스택 배열 int topIndex = -1; // 스택의 top의 인덱스 // push X: 정수 X를 스택에 넣는 연산이다. void push(int x) { stack[++topIndex] = x; } // pop: 스택에서 가장..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/G2pz1/btqNMhHzwyh/teElpLGGYuG6Rim1MOth1K/img.jpg)
스택이란?삽입과 제거가 한쪽 끝에서만 이루어지는 특수한 선형 리스트.후입 선출(Last-In-First-Out) 구조이다. 즉, 가장 마지막에(최신에) 들어온 데이터가 가장 먼저 나간다. 스택의 주요 연산- push(): 스택에 원소 삽입 - pop(): 스택에서 원소 제거 (후 그 값을 반환) - top()/peek(): 가장 위에 있는 원소 반환 - isEmpty(): 스택이 비었는지 확인 - isFull(): 스택이 가득 찼는지 확인 아래는 C언어로 스택의 주요 연산을 구현한 것이다. 백준 10828문제의 소스코드이다.(문제링크: www.acmicpc.net/problem/10828)#include #include #define MAX_STACK_SIZE 10000 int stack[MAX_STAC..
문제 링크: www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net 한번에 짠 아래 코드. 테스트케이스는 문제 없이 동작했는데 채점 돌리니까 7%에서 시간 초과 났다. 고민하다가 결국 우선순위 큐 써서 해결했다. #include #include #include #define MAX 300000 using namespace std; long long ans = 0; int n, k; pair jewelry[..
문제 링크: www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 문제 설명: 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 문제 접근 방법: N은 1000이하의 자연수이므로 init()함수를 통해 1~1000까지 한수인지 아닌지를 배열 hansoo에 저장해뒀다. ha..
문제 링크: www.acmicpc.net/problem/1003 피보나치 함수를 구현하는 여러 방법이(재귀 함수 등)있지만 기존의 값을 저장하지 않고 새로운 숫자의 피보나치 값을 구하려면 이전 값까지 계속 다시 연산해야 한다. 예를 들어, 새롭게 숫자 5의 피보나치 결과를 구하려면 이전에 피보나치 4, 3, 2, 1을 구했더라도 새롭게 다시 연산해야 한다. 다른 숫자에 대해서도 기존에 연산한 결과를 활용하지 못하고 새롭게 연산해야하므로 답은 제대로 나오겠지만 시간이 많이 걸리게 된다. 이 문제는 제한시간이 0.25초로 위 방법을 사용하면 시간 초과가 뜬다. 그럼 어떻게 시간 초과를 피할 수 있을까? 답은 다이나믹 프로그래밍(동적 계획법)이다. 다이나믹 프로그래밍(동적 계획법)이란? 기존의 연산 결과를 저..
- Total
- Today
- Yesterday
- 스택
- 컴퓨터과학
- 리액트
- 후위표기식
- 백준
- 큐
- Dash
- 프로그래머스
- 카카오추천팀
- JS
- 코테후기
- React
- dash-plotly
- c++
- reactjs
- 개발
- MySQL
- 다이나믹프로그래밍
- sql
- dfs
- 머신러닝
- 동적계획법
- 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 |