https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net Stack를 활용하여 문제를 해결하였습니다. 단순이 '(' 나 '[' 일때는 스택에 넣어주고, ')', ']'를 만나면 스택에 있는 것과 비교해서 있으면 pop 후 넘어가고 없으면 break 시켜서 판별하였습니다. #include #include #include using namespace std; int main() { ios::sync_with_stdio(0); cin.t..
https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net queue STL를 사용하여 풀었습니다. #include #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(nullptr); int n; queue q; cin >> n; for(int i = 0;i> s; if (s == "push") { int input; cin >> input; q.push..
Stack STL 방식 하나와 배열로 스택을 구현한 방식 두가지로 문제를 풀었습니다. Stack STL 방식 더보기 #include #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(nullptr); int n; stack Stack; cin >> n; for(int i = 0;i> s; if (s == "push") { int input; cin >> input; Stack.push(input); } else if (s == "top") { if (Stack.empty()) cout
문제 : https://www.acmicpc.net/problem/1406 https://blog.encrypted.gg/932?category=773649 님의 강의를 보고 문제를 풀어봤습니다. 물론 제 개인적으로 만든 연결리스트 코드도 있습니다. 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net [실전 알고리즘] 0x04강 - 연결 리스트 안녕하세요, 바킹독이에요. 배열은 복습 잘 하셨나요? 이번 시간에는 연결 리스트라는 것을 같이 배워보겠습니다. 배열에서 한 것 처럼 연결 리스트가 무엇인지 알아보고, 같이 ..
https://www.acmicpc.net/problem/1904 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이 www.acmicpc.net 이건 수를 나열해보면 공식을 찾아볼 수 있습니다. 1 = 1 2 = 2 3 = 3 4 = 5 5 = 8 6 = 13 이걸 보면 N(n) = N(n-1) + N(n-2) 인 것을 볼 수 있습니다. 따라서 그걸 코드로 구현해주면 됩니다. 단, 숫자가 크기 때문에 자료형을 잘 선택해주어야 합니다. #pragma warning(disable:4996) #include long long num[1000001] ..
그냥 구현하면 되더라구요.. 주는거 구현하면 됩니다.. https://www.acmicpc.net/problem/9184 9184번: 신나는 함수 실행 입력은 세 정수 a, b, c로 이루어져 있으며, 한 줄에 하나씩 주어진다. 입력의 마지막은 -1 -1 -1로 나타내며, 세 정수가 모두 -1인 경우는 입력의 마지막을 제외하면 없다. www.acmicpc.net #pragma warning(disable:4996) #include #define MAX 51 int num[MAX][MAX][MAX] = { 1, }; int w(int a, int b, int c) { if (a 20) { return w(20, 20, 20); } if (num[a][b][c] != 0) { return num[a][b][..
사용언어 : C++ 문제 오늘도 서준이는 동적 프로그래밍 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 오늘은 n의 피보나치 수를 재귀호출과 동적 프로그래밍으로 구하는 알고리즘을 배웠다. 재귀호출에 비해 동적 프로그래밍이 얼마나 빠른지 확인해 보자. 아래 의사 코드를 이용하여 n의 피보나치 수를 구할 경우 코드1 코드2 실행 횟수를 출력하자. 피보나치 수 재귀호출 의사 코드는 다음과 같다. fib(n) { if (n = 1 or n = 2) then return 1; # 코드1 else return (fib(n - 1) + fib(n - 2)); } 피보나치 수 동적 프로그래밍 의사 코드는 다음과 같다. fibonacci(n) { f[1]
사용언어 : C++ BFS 사용하여서, 해결하면 된다. 다만 여기서 주의할 점은 날짜별로 체크하기 때문에, q.size만큼 다 돌린후 날짜 + 1을 하였다. #include #include #include #include using namespace std; #define MAXR 1001 vector arr; int visit[MAXR][MAXR] = { 0 }; int coun; queue q; void BFS(); int check[4][2] = { {1,0},{-1,0},{0,1},{0,-1} }; int N, M; bool compare(int i, int j) { return j < i; } int main() { ios_base::sync_with_stdio(false); cin.tie(0)..
- Total
- Today
- Yesterday
- 드림핵
- 워셜알고리즘
- 인제대학교
- 알고리즘
- STL
- Select모델
- 백준
- 야경
- c++
- 지뢰찾기
- Dreamhack
- 개발
- 시스템보안
- 멀티쓰레드
- 스레드풀
- 컨퍼런스
- 레지스터
- 더블버퍼링
- 보안
- 정보보안
- 고양이
- queue
- 링크드 리스트
- BFS
- 학교
- 자료구조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |