BOJ(343)
-
[백준 BOJ] 9506번 약수들의 합 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/9506 9506번: 약수들의 합 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. www.acmicpc.net 접근 방법 - 약수 연산의 응용문제 백준의 9506번 문제는 약수에 관한 연산을 기본적으로 응용해야 하는 문제이다. 해당 문제는, 입력값에 대한 약수들에 대하여 이 숫자가 완전수인지 아닌지에 따라 특정 문장을 출력해야 하는 문제이다. 여기서 완전수란, 특정 숫자와 이에 관한 약수들의 합이 동일한 숫자를 뜻한다. 이 용어의 뜻만 어느 정도 이해했다면 어렵지 않게 풀 수 있는 문제로..
2022.06.08 -
[백준 BOJ] 1427번 소트인사이드 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 접근 방법 - 아스키코드에 대한 계수 정렬을 이용한 문제 백준의 1427번 문제는 정렬, 특히나 계수 정렬을 이용하여 해결해야 하는 문제이다. 해당 문제는, 띄어쓰기 없이 붙어있는 숫자들을 내림차순으로 정렬하여 출력해야 하는 문제이다. 계수 정렬과 관련하여 필자가 이전에 해결한 문제에 대해 작성한 글이 있으니 아래의 링크도 함께 참고해볼 것을 권한다. https://smary-it.tistory.com/116 [백준 BOJ] 10989번 수 정렬하기 3 (C++/cpp) ..
2022.06.03 -
[백준 BOJ] 9653번 스타워즈 로고 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/9653 9653번: 스타워즈 로고 스타워즈 로고를 예제 출력과 같이 출력하는 프로그램을 작성하시오. www.acmicpc.net 접근 방법 - 기본적인 출력문 작성 문제 백준의 9653번 문제는 기본적인 출력문을 작성하여 해결해야 하는 문제이다. 해당 문제는, 예제 출력에 제시되어있는 스타워즈 로고를 그대로 출력해야 하는 문제이다. 이 문제는 사용하는 언어의 기본적인 문법만 잘 인지하고 있다면 아주 쉽게 풀 수 있는 문제이다. 개행과 띄어쓰기를 유의하며 출력문을 작성해보길 바란다. 필자의 경우엔, cpp를 사용하여 아래처럼 코드를 작성하였고 이를 통해 문제를 해결하였다. 성공한 코드 #define _CRT_SECURE_NO_WARNIN..
2022.06.03 -
[백준 BOJ] 1065번 한수 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 접근 방법 - 브루트포스 알고리즘에 대한 응용문제 백준의 1065번 문제는 브루트포스 알고리즘을 활용하여 해결해야 하는 연산 문제이다. 해당 문제는, 1부터 입력값(n)까지의 범위 내에서 문제에서 정의하는 "한수"의 개수를 출력해야 하는 문제이다. 여기서 한수란 간략히, 각 자릿수를 나열하였을 때 등차수열을 이루는 숫자를 뜻한다. 필자는 여기서 아래처럼 생각을 하며, 이를 토대로 코드를 작..
2022.06.02 -
[백준 BOJ] 5217번 쌍의 합 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/5217 5217번: 쌍의 합 1보다 크거나 같고 12보다 작거나 같은 자연수 n이 주어졌을 때, 합이 n이 되는 두 자연수의 쌍을 찾는 프로그램을 작성하시오. 예를 들어, 5가 주어진 경우 가능한 쌍은 1,4와 2,3이 있다. 두 수는 www.acmicpc.net 접근 방법 - 이중 반복문을 활용한 사칙연산 문제 백준의 5217번 문제는 이중 반복문을 활용하여 해결해야 하는 사칙연산 문제이다. 해당 문제는, 입력받은 숫자에 대해 덧셈을 통해 만들 수 있는 숫자의 쌍을 차례로 출력해야 하는 문제이다. 필자의 경우엔 이중 반복문을 활용하여 숫자의 쌍을 차례로 구하여 즉시 출력하도록 하였다. 문제에 제시된 출력 양식도 개별적으로 작성해보았지..
2022.05.19 -
[백준 BOJ] 4673번 셀프 넘버 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 접근 방법 - 브루트포스 알고리즘에 대한 응용문제 백준의 4673번 문제는 브루트포스 알고리즘을 활용하여 해결해야 하는 연산 문제이다. 해당 문제는, 문제에서 정의하는 셀프 넘버를 특정 범위 내에서 모두 출력해야 하는 문제이다. 필자의 경우엔, 셀프 넘버를 구하는 함수를 따로 구현하여 이를 실행한 뒤 모두 출력을 하도록 하였다. bool..
2022.05.14