본문 바로가기

728x90

수학

[백준알고리즘] 1193번: 분수찾기 -C++ [백준알고리즘] 1193번: 분수찾기 -C++ 1193번: 분수찾기 (acmicpc.net) 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 각 대각선 방향마다 \(step\)이라 정해주었다. 각 \(step\)에서 분자와 분모의 합은 같다. 짝수 \(step\)과 홀수 \(step\)이 다른 점은 짝수 \(step\)에서는 \(1/step\)에서 \(step/1\) 로 점점 분자는 1씩 증가하고 분모는 1씩 감소하게 된다. 반대로 홀수 \(step\)에서는 \(step/1\)에서 \(1/step\)로 점점 분자는 1씩 감소하고 분모는 1씩 증가하게 된다. 하지만 각 단계에서 \(total\)이 각 \(step\)의 마지막 값을 기준으로 구.. 더보기
[백준알고리즘] 2292번: 벌집 -C++ [백준알고리즘] 2292번: 벌집 -C++ 2292번: 벌집 (acmicpc.net) 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 이 문제도 좀 쉽다 보니 다른 분들의 코드를 보니 다양하게 풀 수 있는 문제라고 생각한다. 다만 입력 숫자의 범위가 10억까지 들어올 수 있으니 int 형이나 unsigned int 형으로는 처리할 수 없다. 따라서 64비트를 처리하기 위해 uint64_t (unsigned long long)을 사용했다. #include int main(void) { uint64_t n; std::ci.. 더보기
[백준알고리즘] 1339번: 단어 수학 -Python [백준알고리즘] 1339번: 단어 수학 -Python https://www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 10개이고, 수의 최대 길이는 8이다. 서로 다른 문자는 서로 다른 숫자를 나타낸다. www.acmicpc.net 처음에는 DFS처럼 거의 완전탐색처럼 푸는 것 같다. 알고리즘 분류만 봐도 백트래킹으로 나와있다. 하지만 백트래킹으로 풀었을 때, 시간 초과가 발생했으며 시간을 줄이는 방법이 마땅치 않다. 실제로 다른 분들의 코드를 봐도 백트래킹처럼 푼 풀이는 보지 못했.. 더보기
[백준알고리즘] 1712번: 손익분기점 -Python, C++ [백준알고리즘] 1712번: 손익분기점 -Python https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다. 노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 www.acmicpc.net 통과율이 낮길래 한 번 풀어봤는데 간단하게 풀렸다. 아마 처음 하시는 분들이 직접 .. 더보기

728x90