본문 바로가기

백준88

[백준 1158] 요세푸스 문제, C++ https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 본 문제는 배열을 이용해서 풀 수 있다. 이 문제에서 queue를 사용하는 것이 효율적이지 못하지만 처음에 딱 떠오르는 게 queue였다. 문제를 풀는 것에서 끝내는 게 아니라 좀 더 효율적인 코드를 보면서 공부하는 것이 바람직하다고 생각한다. 순서에 맞는 숫자 찾기 출력 후 지우기 queue 소스코드 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 #include #include usi.. 2020. 1. 8.
[백준 1406] 에디터, C++ https://www.acmicpc.net/problem/1406 1406번: 에디터 문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 www.acmicpc.net 본 문제는 2004 Olympiad Croatian Highschool Competitions in Informatics National C.. 2020. 1. 8.
[백준 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 본 문제는 stack을 잘 사용할 수 있는지 물어보는 문제다. 예를 들어 stack이 empty인데 stack top, pop을 하는 경우를 생각해야 한다. 그것만 잘 고려한다면 쉽게 문제를 풀 수 있다. 그래서 그냥 모든 경우에 stack이 empty가 아닐 경우를 추가했다. 그 외 문제들은 스택 수열 FAQ를 참.. 2020. 1. 8.
[백준 9012] 괄호, C++ https://www.acmicpc.net/problem/9012 9012번: 괄호 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(conc www.acmicpc.net 본 문제는 2012 ICPC Daejeon Nationalwide Internet Competition G번 문제다. stack을 이용하면 .. 2020. 1. 8.
[백준 9093] 단어 뒤집기, C++ https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 문제 문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 공백이 하나 있다. 출력 각 테스트 케이스에 대해서, 입력으로 주어진 문장의 단어를 모두 뒤집어 www.acmicpc.net 본 문제는 2001 ICPC Asia Regional Taejon PA번 문제다. 문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는.. 2020. 1. 8.
[백준 10828] 스택, C++ https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다. www.acmicpc.net 본 문제는 입력된 string 값을 stack이 정상 동작하도록 하는 문제다. stack을 사용하는 것은 C++은 STL가 있기 때문에 어럽지 않다. 그러나 이 문제에서 중요한 것은 문자열을 입력받는 것에 있다. cin과 getline에 대한 차이점 때문인데 TC를 위해 cin >> t를 하고 while문에서 getline을 했을 경우 개행 문.. 2020. 1. 8.