J-Log
Learning Diary

BFS
바킹독님의 실전알고리즘배우기 9강듣고 요약 바킹독의 실전 알고리즘 9강 링크 BFS 과정 BFS는 너비우선탐색 알고리즘으로, 큐를 이용하며 시작점에서 점점 퍼져나가는 문제 해결에 잘 쓰인다. 깊이가 1인 노드를 모두 탐색 하면서 깊이가 2인 노드를 차례로 큐에 넣고, 깊이가 1인 노드 방문이 모두 끝나면 큐에서 하나씩 꺼내서 방문하며 깊이가...

[백준 2504번] 괄호의 값 C++ 풀이 시간 제한 1초 메모리 제한 128MB 문제 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 1.한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 2.만일 X가 올바른 괄호열이면 ‘(X)’이나 ‘[X]’도 모두 올...

[백준 4949번] 균형잡힌 세상 C++ 풀이 시간 제한 1초 메모리 제한 128MB 문제 세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다. 정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다. 문자열에 포함되는 괄호는 소괄호(“()”) ...

[백준 10799번] 쇠막대기 C++ 풀이 시간 제한 1초 메모리 제한 256MB 문제 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저의 배치는 다음 조건을 만족한다. 쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수...

바킹독님의 실전알고리즘배우기 8강듣고 요약 바킹독의 실전 알고리즘 8강 링크 스택의 괄호 쌍 문제 해결을 위한 관찰 닫는 괄호는 짝을 맞추는 명령이다. 수식의 괄호 쌍 문제 해결 방법 여는 괄호 나오면 그냥 스택에 push하고, 닫는 괄호 나오면 top()과 비교한다. 마지막으로 다 끝낸 후 스택이 비어있는지 확인한다. 연습문제1 BOJ...

[백준 10866번] 덱 C++ 풀이 시간 제한 0.5초 메모리 제한 256MB 문제 정수를 저장하는 덱(Deque)를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여덟 가지이다. push_front X: 정수 X를 덱의 앞에 넣는다. push_back X: 정수 X를 덱의 뒤에 넣는다. pop_front: 덱...

바킹독님의 실전알고리즘배우기 7강듣고 요약 바킹독의 실전 알고리즘 7강 링크 덱의 성질 덱은 double-ended queue로, 큐인데 양끝에서 삽입과 삭제가 가능한 자료구조이다. 양 끝의 원소 이외의 원소들은 원칙적으로 확인이 불가능하지만, STL deque에서는 가능하다. 덱의 구현 #include <bits/stdc++.h>...

[백준 10828번] 스택 C++ 풀이 시간 제한 0.5초 메모리 제한 256MB 문제 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정...

[백준 18258번] 큐 2 C++ 풀이 시간 제한 1초 메모리 제한 256MB 문제 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는...

[백준 10845번] 큐 C++ 풀이 시간 제한 0.5초 메모리 제한 256MB 문제 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는...