BOJ(368)
-
[백준 BOJ] 2028번 자기복제수 (C언어)
문제 설명 https://www.acmicpc.net/problem/2028 2028번: 자기복제수 어떤 자연수 N을 제곱했을 때, 그 제곱수의 맨 뒷자리에 원래의 수 N이 다시 나타나면, 우리는 그 수 N을 자기복제수라고 한다. 예를 들면, 5의 제곱은 52는 25이고 25의 맨 뒷자리에 원래의 수 5가 www.acmicpc.net 접근 방법 - 단순 수학적 사고력을 요구하는 문제 백준 2028번 문제는 간단한 수학적 사고력을 요구하는 문제인 것으로 확인된다. 필자의 경우엔, 문제에 기술되어있는 입력되는 수 n의 범위를 참고하며 3가지의 경우로 나누어보았다. - n이 100 이상이면 n은 3 자릿수이다. 따라서 n^2에 1000으로 나머지 연산자 취하여 뒤의 세 자릿수만 떼어놓는다. - n이 10 이상..
2022.01.13 -
[백준 BOJ] 1978번 소수 찾기 (C언어)
문제 설명 https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 접근 방법 - 소수의 기본적인 정의에 대한 수학 문제 백준 1978번 문제는 소수의 기본적인 의미에 대해서 묻고 있는 수학적 사고력 문제이다. 어떤 숫자에 있어서, 나누어 떨어지는 숫자, 즉 약수가 1과 자기 자신 뿐인 숫자를 소수라고 부른다. 필자는 이 기본적인 정의에 중점으로 맞추어 문제를 해결해보려 하였다. 사실 노가다로 뛰어보았던 거지만 필자는 아래와 같은 순서로 코드를 작성하였고 문제를 해결하였다. 코드의 실행 순서 1) 입력받을 숫자의 개수와 ..
2022.01.11 -
[백준 BOJ] 1935번 후위 표기식2 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net 접근 방법 - 전형적인 스택 응용문제 백준 1935번 문제는 스택의 대표 유형이라 할 수 있는 후위 표기식 문제이다. 필자는 후위식에 있어 변수에 해당하는 문자를 만나면 스택에 푸시하고 연산자를 만나면 스택에 저장되어있는 변수를 꺼내어 연산하는 식으로 코드를 구성하였다. 숫자는 별개의 배열에 저장해둔 뒤, 변수를 대신해 스택에 푸시하도록 하였다. 추가로, 예제들의 정답들이 모..
2022.01.11 -
[백준 BOJ] 1934번 최소공배수 (C언어)
문제 설명 https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 접근 방법 - 수학적 사고력을 요구하는 문제 백준 1934번 문제는 "최소공배수"라는 기본 배경지식에서 수학적 사고력을 요구하는 문제이다. 우리는 보통 최소공배수를 구하기 위해 아래와 같은 방법을 사용한다. (ex) 10과 6의 최소공배수 구하는 방법 => 2 * (5 * 3) = 30 여기에서 필자는 최대공약수라는 개념도 함께 개입하여 문제를 해결해보았다. 위의 예..
2022.01.10 -
[백준 BOJ] 1924번 2007년 (C언어)
문제 설명 https://www.acmicpc.net/problem/1924 1924번: 2007년 첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다. www.acmicpc.net 접근 방법 - 나머지 연산자를 이용한 수학 문제 백준 1924번은 일반적인 수학 문제, 특히나 나머지 연산자를 주요로 다룬 수학적 사고력 문제이다. 각 요일은 7일을 주기로 하여 번갈아가면서 나타난다. 따라서 2007년 1월 1일을 시작으로 하여 입력받은 날짜까지의 총 일수를 구한 뒤, 여기에 7로 나머지 연산을 취하여 이를 통해 답을 구하면 된..
2022.01.09 -
[백준 BOJ] 1919번 애너그램 만들기 (C언어)
문제 설명 https://www.acmicpc.net/problem/1919 1919번: 애너그램 만들기 두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs www.acmicpc.net 접근 방법 - 문자열을 이용한 수학 문제 백준 1919번 문제는 문자열을 이용한 수학적 사고력 문제라 볼 수 있다. 위 문제에선, 알파벳의 배치만 다른 2개 단어의 관계를 애너그램 관계라 말하고 있다. 이는 곧, 2개의 단어에 사용되는 문자와 각 문자가 사용되는 개수가 서로 동일하다고도 해석할 수 있다. 따라서, 필자는 2개의 단어에서 제거가 필요 없는, 즉 "..
2022.01.09