문제 (Problems)
-
1. Question 다음과 같이 크기가 같은 두 직사각형을 겹쳐 놓은 이미지에서 겹친 부분의 넓이는 얼마인가? 두 직사각형은 꼭짓점이 연결되어 있는 상태이다. 2. Approach 다음 그림과 같이 $x$를 설정하자. 그러면, 겹처진 다른 직사각형의 대칭되는 부분의 길이 역시 $x$가 된다. 그러면 간단한 피타고라스 정리로 풀린다. $$x^2 + 1 = x^2 - 4x + 4$$ $$x = {3 \over 4}$$ 색칠된 부분의 넓이 = 직사각형의 넓이 - 2 * 직각삼각형의 넓이이므로, $$색칠된 부분의 넓이= 2 - 2 * {3 \over 4} * 1 * {1 \over 2} = {5 \over 4}$$
[평면기하] 두 직사각형의 겹쳐진 부분의 넓이는?1. Question 다음과 같이 크기가 같은 두 직사각형을 겹쳐 놓은 이미지에서 겹친 부분의 넓이는 얼마인가? 두 직사각형은 꼭짓점이 연결되어 있는 상태이다. 2. Approach 다음 그림과 같이 $x$를 설정하자. 그러면, 겹처진 다른 직사각형의 대칭되는 부분의 길이 역시 $x$가 된다. 그러면 간단한 피타고라스 정리로 풀린다. $$x^2 + 1 = x^2 - 4x + 4$$ $$x = {3 \over 4}$$ 색칠된 부분의 넓이 = 직사각형의 넓이 - 2 * 직각삼각형의 넓이이므로, $$색칠된 부분의 넓이= 2 - 2 * {3 \over 4} * 1 * {1 \over 2} = {5 \over 4}$$
2020.09.01 -
1. Question 2. Approach 동전을 세우거나 겹치면 안된다는 전제가 있으니, 어떻게든 평면에 공간을 창출하는 수 밖에 없다. 예전에 비눗방울에 관련된 글에서, 항상 정교하게 딱 맞춘것이 최고의 효율을 내는 것은 아니라는 결론을 본 적이 있다. 그래서 두 개의 동전 아래 사이에 동전을 두어 세 동전의 중심이 정삼각형을 이루도록 해봤다. 저런 느낌이 되는데, $\sqrt{3}$이 대략 1.72쯤 되기 때문에 못해도 한 줄씩 0.28cm씩 빈공간이 생긴다. 저 상태로 총 8번 겹칠 수 있으므로, 2.24cm의 빈 공간이 생기고 동전을 넣을 수 있는 줄이 하나더 생긴다! 5개가 들어간 줄 5개 + 4개가 들어간 줄 4개 = 25 + 16 = 41로 원래 40개에서 1개를 더 넣었다.
[문제적 남자] 동전 40개로 꽉 차있는 상자에 동전 하나 더 넣기1. Question 2. Approach 동전을 세우거나 겹치면 안된다는 전제가 있으니, 어떻게든 평면에 공간을 창출하는 수 밖에 없다. 예전에 비눗방울에 관련된 글에서, 항상 정교하게 딱 맞춘것이 최고의 효율을 내는 것은 아니라는 결론을 본 적이 있다. 그래서 두 개의 동전 아래 사이에 동전을 두어 세 동전의 중심이 정삼각형을 이루도록 해봤다. 저런 느낌이 되는데, $\sqrt{3}$이 대략 1.72쯤 되기 때문에 못해도 한 줄씩 0.28cm씩 빈공간이 생긴다. 저 상태로 총 8번 겹칠 수 있으므로, 2.24cm의 빈 공간이 생기고 동전을 넣을 수 있는 줄이 하나더 생긴다! 5개가 들어간 줄 5개 + 4개가 들어간 줄 4개 = 25 + 16 = 41로 원래 40개에서 1개를 더 넣었다.
2020.08.30 -
1. Question 이하는 최근 사과나무 씨앗을 구매하여 농장 뒷뜰에 일렬로 1번부터 N번까지 심었다. 이 나무들의 초기 높이는 모두 0이다. 사과나무를 무럭무럭 키우기 위해 이하는 물뿌리개 2개를 준비했다. 한 물뿌리개는 나무 하나를 1만큼 성장시키고, 다른 물뿌리개는 나무 하나를 2만큼 성장시킨다. 이 물뿌리개들은 동시에 사용해야 하며, 물뿌리개를 나무가 없는 토양에 사용할 수는 없다. 두 물뿌리개를 한 나무에 사용하여 3만큼 키울 수도 있다. 물뿌리개 관리 시스템을 전부 프로그래밍한 이하는 이제 사과나무를 키워보려고 했다. 그 순간, 갊자가 놀러와서 각 사과나무의 높이가 이런 배치가 되었으면 좋겠다고 말했다. 이제 이하는 약간 걱정이 되기 시작했는데, 갊자가 알려준 사과나무의 배치를 이 프로그램 ..
[백준, BOJ] 19539 - 사과나무1. Question 이하는 최근 사과나무 씨앗을 구매하여 농장 뒷뜰에 일렬로 1번부터 N번까지 심었다. 이 나무들의 초기 높이는 모두 0이다. 사과나무를 무럭무럭 키우기 위해 이하는 물뿌리개 2개를 준비했다. 한 물뿌리개는 나무 하나를 1만큼 성장시키고, 다른 물뿌리개는 나무 하나를 2만큼 성장시킨다. 이 물뿌리개들은 동시에 사용해야 하며, 물뿌리개를 나무가 없는 토양에 사용할 수는 없다. 두 물뿌리개를 한 나무에 사용하여 3만큼 키울 수도 있다. 물뿌리개 관리 시스템을 전부 프로그래밍한 이하는 이제 사과나무를 키워보려고 했다. 그 순간, 갊자가 놀러와서 각 사과나무의 높이가 이런 배치가 되었으면 좋겠다고 말했다. 이제 이하는 약간 걱정이 되기 시작했는데, 갊자가 알려준 사과나무의 배치를 이 프로그램 ..
2020.08.30 -
1. Question 정보 초등학교에서는 단체로 2박 3일 수학여행을 가기로 했다. 여러 학년이 같은 장소로 수학여행을 가려고 하는데 1학년부터 6학년까지 학생들이 묵을 방을 배정해야 한다. 1~2학년은 남학생, 여학생 구별 없이 방을 배정할 수 있으며 3~6학년은 남학생은 남학생끼리, 여학생은 여학생끼리 방을 배정해야 한다. 또한 1~2학년은 학년 구별 없이 같은 방에 배정할 수 있으며 마찬가지로 3~4학년도, 5~6학년도 각각 학년 구별 없이 방을 배정할 수 있다. 물론 한 방에 한 명만 배정되는 것도 가능하다. 한 방에 배정할 수 있는 최대 인원 수 K가 주어졌을 때, 조건에 맞게 모든 학생을 배정하기 위해 필요한 방의 최소 개수를 구하는 프로그램을 작성하시오. 예를 들어, 수학여행을 가는 학생이 ..
[백준, BOJ] 13304 - 반 배정1. Question 정보 초등학교에서는 단체로 2박 3일 수학여행을 가기로 했다. 여러 학년이 같은 장소로 수학여행을 가려고 하는데 1학년부터 6학년까지 학생들이 묵을 방을 배정해야 한다. 1~2학년은 남학생, 여학생 구별 없이 방을 배정할 수 있으며 3~6학년은 남학생은 남학생끼리, 여학생은 여학생끼리 방을 배정해야 한다. 또한 1~2학년은 학년 구별 없이 같은 방에 배정할 수 있으며 마찬가지로 3~4학년도, 5~6학년도 각각 학년 구별 없이 방을 배정할 수 있다. 물론 한 방에 한 명만 배정되는 것도 가능하다. 한 방에 배정할 수 있는 최대 인원 수 K가 주어졌을 때, 조건에 맞게 모든 학생을 배정하기 위해 필요한 방의 최소 개수를 구하는 프로그램을 작성하시오. 예를 들어, 수학여행을 가는 학생이 ..
2020.08.29 -
1. Question 하나 이상의 연속된 소수의 합으로 나타낼 수 있는 자연수들이 있다. 몇 가지 자연수의 예를 들어 보면 다음과 같다. 3 : 3 (한 가지) 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (세 가지) 53 : 5+7+11+13+17 = 53 (두 가지) 하지만 연속된 소수의 합으로 나타낼 수 없는 자연수들도 있는데, 20이 그 예이다. 7+13을 계산하면 20이 되기는 하나 7과 13이 연속이 아니기에 적합한 표현이 아니다. 또한 한 소수는 반드시 한 번만 덧셈에 사용될 수 있기 때문에, 3+5+5+7과 같은 표현도 적합하지 않다. 자연수가 주어졌을 때, 이 자연수를 연속된 소수의 합으로 나타낼 수 있는 경우의 수를 구하는 프로그램을 작성하시오. 1.1 Input 첫째..
[백준, BOJ] 1644 - 소수의 연속합1. Question 하나 이상의 연속된 소수의 합으로 나타낼 수 있는 자연수들이 있다. 몇 가지 자연수의 예를 들어 보면 다음과 같다. 3 : 3 (한 가지) 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (세 가지) 53 : 5+7+11+13+17 = 53 (두 가지) 하지만 연속된 소수의 합으로 나타낼 수 없는 자연수들도 있는데, 20이 그 예이다. 7+13을 계산하면 20이 되기는 하나 7과 13이 연속이 아니기에 적합한 표현이 아니다. 또한 한 소수는 반드시 한 번만 덧셈에 사용될 수 있기 때문에, 3+5+5+7과 같은 표현도 적합하지 않다. 자연수가 주어졌을 때, 이 자연수를 연속된 소수의 합으로 나타낼 수 있는 경우의 수를 구하는 프로그램을 작성하시오. 1.1 Input 첫째..
2020.08.28 -
1. Question 10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오. 1.1 Input 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. 1.2 Output 첫째 줄에 구하고자 하는 최소의 길이를 출력한다. 만일 그러한 합을 만드는 것이 불가능하다면 0을 출력하면 된다. 1.3 Example 입력 출력 10 15 5 1 3 5 10 7 4 9 2 8 2 2. Approach 투 포인터 문제다. 부분합..
[백준, BOJ] 1806 - 부분합1. Question 10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오. 1.1 Input 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. 1.2 Output 첫째 줄에 구하고자 하는 최소의 길이를 출력한다. 만일 그러한 합을 만드는 것이 불가능하다면 0을 출력하면 된다. 1.3 Example 입력 출력 10 15 5 1 3 5 10 7 4 9 2 8 2 2. Approach 투 포인터 문제다. 부분합..
2020.08.27 -
1. Question 어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev(X) = 1이다. 두 양의 정수 X와 Y가 주어졌을 때, Rev(Rev(X) + Rev(Y))를 구하는 프로그램을 작성하시오 1.1 Input 첫째 줄에 수 X와 Y가 주어진다. X와 Y는 1,000보다 작거나 같은 자연수이다. 1.2 Output 첫째 줄에 문제의 정답을 출력한다. 1.3 Example 입력 출력 123 100 223 2. Approach 다른 언어는 귀찮지만, 파이썬에서는 매우 간단한 문제. 파이썬의 슬라이싱만 알면 매우 쉬워진..
[백준, BOJ] 1357 - 뒤집힌 덧셈1. Question 어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev(X) = 1이다. 두 양의 정수 X와 Y가 주어졌을 때, Rev(Rev(X) + Rev(Y))를 구하는 프로그램을 작성하시오 1.1 Input 첫째 줄에 수 X와 Y가 주어진다. X와 Y는 1,000보다 작거나 같은 자연수이다. 1.2 Output 첫째 줄에 문제의 정답을 출력한다. 1.3 Example 입력 출력 123 100 223 2. Approach 다른 언어는 귀찮지만, 파이썬에서는 매우 간단한 문제. 파이썬의 슬라이싱만 알면 매우 쉬워진..
2020.08.26 -
1. Question 케빈 베이컨의 6단계 법칙에 의하면 지구에 있는 모든 사람들은 최대 6단계 이내에서 서로 아는 사람으로 연결될 수 있다. 케빈 베이컨 게임은 임의의 두 사람이 최소 몇 단계 만에 이어질 수 있는지 계산하는 게임이다. 예를 들면, 전혀 상관없을 것 같은 인하대학교의 이강호와 서강대학교의 민세희는 몇 단계만에 이어질 수 있을까? 천민호는 이강호와 같은 학교에 다니는 사이이다. 천민호와 최백준은 Baekjoon Online Judge를 통해 알게 되었다. 최백준과 김선영은 같이 Startlink를 창업했다. 김선영과 김도현은 같은 학교 동아리 소속이다. 김도현과 민세희는 같은 학교에 다니는 사이로 서로 알고 있다. 즉, 이강호-천민호-최백준-김선영-김도현-민세희 와 같이 5단계만 거치면 ..
[백준, BOJ] 1389 - 케빈 베이컨의 6단계 법칙1. Question 케빈 베이컨의 6단계 법칙에 의하면 지구에 있는 모든 사람들은 최대 6단계 이내에서 서로 아는 사람으로 연결될 수 있다. 케빈 베이컨 게임은 임의의 두 사람이 최소 몇 단계 만에 이어질 수 있는지 계산하는 게임이다. 예를 들면, 전혀 상관없을 것 같은 인하대학교의 이강호와 서강대학교의 민세희는 몇 단계만에 이어질 수 있을까? 천민호는 이강호와 같은 학교에 다니는 사이이다. 천민호와 최백준은 Baekjoon Online Judge를 통해 알게 되었다. 최백준과 김선영은 같이 Startlink를 창업했다. 김선영과 김도현은 같은 학교 동아리 소속이다. 김도현과 민세희는 같은 학교에 다니는 사이로 서로 알고 있다. 즉, 이강호-천민호-최백준-김선영-김도현-민세희 와 같이 5단계만 거치면 ..
2020.08.25