BOJ(343)
-
[백준 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] 11720번 숫자의 합 (C언어)
문제 설명 https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 접근 방법 - 문자열과 아스키코드를 이용한 수학 문제 백준의 11720번 문제는 문자열과 아스키코드를 이용하여 해결해야 하는 수학 문제이다. 해당 문제는, 공백 없이 입력받은 숫자들에 대한 덧셈 결과를 출력해야 하는 문제이다. 여기서, 해당 문제의 입력값들 사이에는 공백이 없기 때문에 정수형보단 문자형으로 입력받는 것이 더 좋다. 그렇기 때문에 한 문자씩 입력을 받고 각 문자의 아스키코드 값을 이용해 덧셈 연산을 취해 해답을 구하면 된다. 참고로, 0~9의 아스키코드 ..
2022.02.13 -
[백준 BOJ] 11654번 아스키 코드 (C언어)
문제 설명 https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 접근 방법 - 아스키코드 사용의 기본 문제 백준의 11654번 문제는 아스키코드에 대한 매우 기초적인 문제이다. 해당 문제는, 입력받은 문자에 대한 아스키코드 값을 출력해야 하는 문제이다. 포털 사이트에 검색하면 아스키코드 표를 쉽게 찾을 수 있을 것이다. 혹시나 이에 관한 지식이 없다면, 아스키코드 표와 아래의 코드를 함께 참고해보길 바란다. 필자는 아래처럼 코드를 작성하여 문제를 해결하였다. (여기서, 각 대소문자 알파벳은 모두 아스키코드 값을 가..
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 -
[백준 BOJ] 11023번 더하기 3 (C언어)
문제 설명 https://www.acmicpc.net/problem/11023 11023번: 더하기 3 첫째 줄에 N(1 ≤ N ≤ 100)개의 수가 공백으로 구분되어서 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다. 또, 0으로 시작하는 수는 주어지지 않는다. www.acmicpc.net 접근 방법 - 반복문을 이용한 연산 문제 백준의 11023번 문제는 반복문을 이용한 연산 문제이다. 해당 문제는, 입력받은 수들의 덧셈 결괏값을 출력해야 하는 문제이다. 다만 이 문제에선 입력받을 숫자의 개수가 입력값으로 주어져있지 않다. 이는 즉, 입력이 종료될 때까지 덧셈 연산을 무한히 수행해야 한다는 점을 뜻하기도 하다. 이에 관련한 문제에 대해 필자가 이전에 작성한 글이 있다. 처음 ..
2022.02.11