cpp(262)
-
[백준 BOJ] 12789번 도키도키 간식드리미 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/12789 12789번: 도키도키 간식드리미 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두 www.acmicpc.net 접근 방법 - 스택을 이용한 연산 문제 백준의 12789번 문제는 스택을 이용하여 해결해야 하는 문제이다. 해당 문제는, 입력되는 값에 대하여, 1번부터 시작하여 순서대로 n번까지 배부할 수 있는지의 여부를 묻고 있는 문제이다. 필자는 num이라는 변수를 따로 선언하여 입력을 받는 대로 스택에 push해야 하는지 바로 배부되는지에 대한 여부를 정하게끔 하였다. 그리고 최종적으로, 스택..
2022.02.20 -
[백준 BOJ] 9086번 문자열 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/9086 9086번: 문자열 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으 www.acmicpc.net 접근 방법 - 문자열 사용의 기본 연산 백준의 9086번 문제는 문자열에 있어 기본적인 연산을 다루는 문제이다. 해당 문제는, 각 케이스에서 주어지는 입력값에 있어 첫 글자와 끝 글자만 출력하게끔 해야 하는 문제이다. 필자는 해당 문제를 해결할 때 string 헤더를 사용하였으며, 이 헤더의 length() 함수를 사용해 출력을 원활히 하였다. 해당 함수는 문자열을 이용할 때 많이 ..
2022.02.20 -
[백준 BOJ] 20001번 고무오리 디버깅 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/20001 20001번: 고무오리 디버깅 백준 문제 풀이에 힘들어하는 수진이를 위해 민우는 문제해결에 도움이 되는 고무오리를 준비했다. 민우가 준비한 고무오리는 신비한 능력이 존재하는데, 최근에 풀던 백준 문제를 해결해주는 www.acmicpc.net 접근 방법 - 스택을 이용한 연산 문제 백준의 20001번 문제는 스택을 이용하여 해결해야 하는 문제이다. 해당 문제는, "고무오리"와 "문제"만으로 이루어져 있는 입력값에 대하여, 문제를 모두 해결할 수 있는지에 대한 여부를 구해야 하는 문제이다. (문제에 대한 자세한 설명은 위를 참고하길 바란다.) 필자는 문제의 흐름대로 코드를 작성하였는데, 스택에 대해 알고 있다면 쉽게 풀 수 있는 ..
2022.02.17 -
[백준 BOJ] 15552번 빠른 A+B (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 접근 방법 - 빠른 입출력을 위한 팁을 알려주는 문제 백준의 15552번 문제는 빠른 입출력을 위한 명령문을 알려주는 문제이다. 해당 문제에선 C++, Java, Python 등에서의 빠른 입출력을 위한 구문을 안내하고 있다. 필자의 경우엔 주로 C++로 ps를 진행하기 때문에 문제 설명에 제시되어있는 C++ 구문을 사용해보았다. 필자는 아래처럼 코드를 작성하여 해당 문제를 해결하였다. ps를 할 때 시..
2022.02.14 -
[백준 BOJ] 11866번 요세푸스 문제 0 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 접근 방법 - 큐를 이용한 연산 문제 백준의 11866번 문제는 큐를 이용하여 해결해야 하는 수학적 사고력 문제이다. 해당 문제는, n개의 숫자에 대해 a번째 숫자를 순차적으로 제거하면서, 요세푸스 순열을 만들어야 하는 문제이다. (문제에 대한 자세한 설명은 위를 참고하길 바란다.) 필자는 이 문제를 해결할 때, 제거해야 할 숫자는 바로 출력하며 pop 연산을 취하게끔 하였다. 다만 아닌 경우에는 해당 숫자에 대해 다시 큐에 push 연산을 취한 뒤에 pop 연산을 취하..
2022.02.13 -
[백준 BOJ] 11050번 이항 계수 1 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 접근 방법 - 재귀 알고리즘을 사용하는 수학 문제 백준의 11050번 문제는 재귀 함수를 사용하여 해결해야 하는 수학 문제이다. 해당 문제는, 입력받은 두 숫자에 대한 이항 계수 연산의 결괏값을 출력해야 하는 문제이다. 여기서, 이항 계수의 연산은 아래처럼 수행된다. 위를 보면 !(팩토리얼) 연산이 있는데, 바로 이 연산을 재귀 알고리즘으로 표현해야 한다. 보통 팩토리얼 연산을 위한 재귀 함수는 제어 변수인 n이 1일 때까지만 고려한다. 하지만 필자는 해당 문제..
2022.02.12