BOJ(340)
-
[백준 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 -
[백준 BOJ] 1546번 평균 (C언어)
문제 설명 https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net (자세한 예제는 위의 사이트를 통해 확인하길 바란다.) 접근 방법 - 문제의 설명대로 풀면 되는 수학 문제 백준의 1546번 문제는 문제의 설명만 잘 읽고 따라가면 무난하게 해결할 수 있는 문제이다. 다만, 예제들의 정답을 보면 소수점을 어디까지 출력해야 하는지 망설여질 것이다. 필자는 예제 2의 출력대로 소수점에 제한을 두지 않고 출력을 해보았는데 정답이 나왔다. 필자는 아래의 ..
2022.01.09 -
[백준 BOJ] 1475번 방 번호 (C언어)
문제 설명 https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 접근 방법 - 문자열을 이용한 문제 백준 1475번 문제는 숫자형이 아닌 문자열을 이용한 문제이다. 입력되는 값이 숫자이다 보니 혼동할 수도 있지만, 문제 상에선 결국 "스티커"의 숫자일 뿐이니 문자열을 이용하는 것이 더 수월할 것이다. 필자는 해당 문제를 풀 때 아래의 규칙을 찾았고 아래의 순서대로 코드를 작성하였다. 필자가 이용한 규칙 이 문제에서의 정답은 결국 가장 많이 사용된 숫자 스티커의 개수이다. 가장 많이 사용된 스티커의 숫자대로 스티커 세트를 준비하면 다른 숫자의 스티커..
2022.01.08 -
[백준 BOJ] 1330번 두 수 비교하기 (C언어)
문제 설명 https://www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net 접근 방법 - 기본적인 수학적 비교 문제 백준의 1330번 문제는 단순한 숫자 비교 문제이다. 그저 2개의 숫자 크기를 비교해본 뒤, 이에 따라서 적절한 문자를 출력해주면 끝인 문제인 것이다. 필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다. 코드의 실행 순서 1) 2개의 숫자를 입력받기 (a, b) 2) 2개의 숫자 크기를 비교한다. a가 b보다 크다면 ">" a와 b가 같다면 "==" a가 b보다 작다면 ""); else if (a == b)printf("=="); else print..
2022.01.08 -
[백준 BOJ] 1292번 쉽게 푸는 문제 (C언어)
문제 설명 https://www.acmicpc.net/problem/1292 1292번: 쉽게 푸는 문제 첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다. www.acmicpc.net 접근 방법 - 정말 "나름 가볍게" 풀 수 있는 수학적 사고 문제 백준의 1292번 문제는 단순 수학적 사고력을 요구하는 문제이다. 문제의 범위가 비양심적으로 방대했다면 어려웠을 수도 있지만, 그렇지는 않아서 무난하게 풀 수 있었다. 필자는 아래의 규칙을 찾아내고 아래의 순서대로 코드를 작성하여 문제를 해결하였다. 밑의 후기도 한번 참고해보길 바란다. 필자가 이용한 규칙 (배열 번호 i인 배열 값 : cnt)..
2022.01.08