본문 바로가기

Algorithm/Math

(101)
(C++) - 백준(BOJ) 24623 : Изгороди https://www.acmicpc.net/problem/24623 24623번: Изгороди Фермер Джон прокопал прямолинейную канаву длиной $2 \cdot n$ метров. Затем от середины канавы прокопал под углом $\alpha$ к предыдущей короткую кан www.acmicpc.net 간단한 수학문제였습니다. 📕 풀이방법 📔 입력 및 초기화 n, alpha를 선언 후 입력받습니다. 📔 풀이과정 빨간선으로 표시된 각도는 180 - a입니다. 파란선 부분은 (180 - a) / 2입니다. 핑크선 부분은 a / 2입니다. 정답은 파란선 부분 + 핑크선 부분의 각도가 됩니다. 📔 정답출력 (180 - a) ..
(C++) - 백준(BOJ) 24183 : Affischutskicket https://www.acmicpc.net/problem/24183 24183번: Affischutskicket Indatan består av tre heltal mellan $50$ och $200$, ytvikterna i $\frac{\text{gram}}{\text{m}^2}$ för sorterna som används till kuvertet, affischerna respektive informationsbladet. www.acmicpc.net 수학공식을 구해 답을 출력하는 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 c4, a3, a4종이의 밀도, 각 종이별 무게를 구할 변수 envelop, poster, sheet를 선언한 후 적절히 입력받습니다. 📔 풀이과정 무게 = 용지넓이 * ..
(C++) - 백준(BOJ) 1816 : 암호 키 https://www.acmicpc.net/problem/1816 1816번: 암호 키 현대 사회에서 통용되고 있는 많은 종류의 암호 시스템에서는, 매우 큰 소수의 곱으로 만들어진 수를 암호 키로 이용하는 경우가 많다. 현실적으로 매우 큰 수를 빠른 시간 내에 소인수분해하는 www.acmicpc.net 에라토스테네스의 체를 이용하는 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 소수의 개수 n, 에라토스테네스의 체를 이용하기 위한 일차원 배열 ck, 소수들을 저장할 변수 prime을 선언한 뒤 입력받습니다. 📔 풀이과정 자연수 n이 √n 이하의 어떤 소수로도 나누어 떨어지지 않으면 n 은 소수임이 보장됩니다.따라서 입력받는 수가 100만 이하의 소수로 나누어 떨어지지만 않으면 n은 소수가 됩니다. 따라서..
(C++) - 백준(BOJ) 25191 : 치킨댄스를 추는 곰곰이를 본 임스 https://www.acmicpc.net/problem/25191 25191번: 치킨댄스를 추는 곰곰이를 본 임스 콜라 $4$개, 맥주 $2$개로 치킨을 $4$마리까지 먹을 수 있지만, 치킨집에 치킨이 $3$마리밖에 없으므로 임스도 $3$마리까지만 먹을 수 있다. www.acmicpc.net 간단 수학 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 chicken, coke, beer를 선언 후 입력받습니다. 📔 풀이과정 1. 먼저 집에 있는 음료수로는 coke / 2 + beer만큼 치킨을 시켜먹을 수 있습니다. 2. 하지만 시킬 수 있는 수량이 한정적이므로 치킨집에 존재하는 치킨 개수와 비교해 최솟값을 출력합니다. 📔 정답출력 최솟값을 출력합니다. 📕 Code #include using namespa..
(C++) - 백준(BOJ) 24860 : Couinting Antibodies https://www.acmicpc.net/problem/24860 24860번: Counting Antibodies Immunoglobulins also known as antibodies are protein molecules. Antibodies play one of the key roles in the immune reaction --- they detect harmful foreign agents --- bacteria or viruses --- and help to eliminate them. Every foreign molecule binds with uni www.acmicpc.net 간단한 수학 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 각 chain별 변수를 선언한 뒤 입력받습니다...
(C++) - 백준(BOJ) 1064 : 평행사변형 https://www.acmicpc.net/problem/1064 1064번: 평행사변형 평행사변형은 평행한 두 변을 가진 사각형이다. 세 개의 서로 다른 점이 주어진다. A(xA,yA), B(xB,yB), C(xC,yC) 이때, 적절히 점 D를 찾아서 네 점으로 평행사변형을 만들면 된다. 이때, D가 여러 개 나 www.acmicpc.net 점 사이의 거리, 기울기를 이용해 평행사변형 생성가능 여부를 결정하는 수학 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 점의 x,y좌표를 저장하기 위해 struct Point를 선언 합니다. Point a,b,c점을 선언 후 선분 ab, bc, ac를 의미하는 변수 abLen, bcLen, acLen, 둘레의 길이를 저장할 변수 len1, len2, len3을 선..
(C++) - 백준(BOJ) 12871 : 무한 문자열 https://www.acmicpc.net/problem/12871 12871번: 무한 문자열 첫째 줄에 s, 둘째 줄에 t가 주어진다. 두 문자열 s와 t의 길이는 50보다 작거나 같은 자연수이고, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 최대공약수 최소공배수를 구해 구현하는 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 s, t, ss, tt, 최소 공배수 lcmVal을 선언 후 문자열 s, t에입력받습니다. 📔 풀이과정 최소공배수만큼 문자열을 붙였을 때 둘이 같다면 무한대로 문자열을 늘려도 같습니다. * 단순히 s.size() * t.size()만큼 문자열을 붙인다면 메모리초과를 받게 됩니다. LCM(최소공배수) = 정수 a * 정수 b / GCD(최대공약수)(a, b)입니다...
(C++) - 백준(BOJ) 24723 : 녹색거탑 https://www.acmicpc.net/problem/24723 24723번: 녹색거탑 Naver D2를 아시나요? D2는 For Developers, By Developers의 약자로, 개발자들을 위해 개발자들이 직접 만들어 가고 있는 네이버 개발자 지원 프로그램입니다. 네이버가 축적한 기술과 지식을 공유하고, 외 www.acmicpc.net 공식을 찾아 정답을 출력하는 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 거탑 높이 n을 선언 후 입력받습니다. 📔 풀이과정 높이가 1증가할때마다 각 칸에서 아래로 내려갈 수 있는 경우가 2가지씩 증가하는 규칙을 발견할 수 있습니다. 결국 전체 경우의 수는 2배씩 증가하는 특징을 가집니다. 📔 정답출력 1을 n bit만큼 왼쪽으로 이동한 결과를 출력합니다. ..