본문 바로가기
반응형

전체 글58

백준 1158(요세푸스) c++ 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 문제 풀이 문제를 큐를 이용하여 생각을 해보면, N만큼 오름차순으로 큐에 숫자가 들어가 있다. 그리고 K 번째의 숫자를 제거하는게 문제이다. 그러면 K만큼 큐에서 pop을 함과 동시에 push를 해주면 문제가 해결이 된다. 전체 코드 #include using namespace std; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int N, K; cin >> N >> K; queue input; for(register int i .. 2023. 4. 21.
백준 1874번(스택 수열) c++ 문제 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 문제 풀이 문제 자체가 조금 이해하기 난해할 수 있다. 예제 1번을 풀이를 하자면 [4, 3, 6, 8, 7, 5, 2, 1] 최종적으로 이러한 수열을 만들어야 한다. 그러면서 오름차순으로 1~8까지 stack에 쌓아야 하는데 push는 어느 때에나 해도 상관없지만 pop은 반드시 저 수열에 맞춰 pop을 해야.. 2023. 4. 18.
백준 에디터 (1406번) c++ 문제 https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 문제 풀이 처음 문제를 보고 나는 vector로 풀까 하고 생각을 했다. 하지만 시간 제한이 0.3초 인걸 확인하고 vector.erase와 vector.insert가 시간초과에 걸릴거 같아 연결리스트로 생각을 바꿨다. vector로 구현한 소스이다. #include #include #include using namespace std; int main(){ ios_base::sync_with_.. 2023. 4. 18.
백준 9012번(괄호) 문제 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 문제 풀이 스택 개념을 이용하여 풀면 된다. 나는 여기서 스택을 이용하진 않고 단순히 result 변수를 통해 숫자를 세어줌으로써 해결하였다. 전체 코드 #include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int N; cin >> N; for(register.. 2023. 4. 17.
반응형