본문 바로가기

Algorithm/BOJ172

[BOJ]1484번: 다이어트 문제: https://www.acmicpc.net/problem/1484 수학 문제입니다. 몸무게 G는 아래와 같은 관계식이 성립합니다. 현재 몸무게 = X, 기억하던 몸무게 = Y라고 치환해보겠습니다. G = X^2 - Y^2 G = (X+Y)(X-Y) 이 관계를 만족하는 X를 구하는 문제입니다. 그러므로 먼저 G의 공약수를 전부 구한뒤 공약수들 중에 AxB = G를 만드는 공약수 두 쌍을 골라 X,Y로 사용가능한지 체크합니다. 이 조건을 만족하는 X,Y를 구하고 X값만 모아서 리턴하면 됩니다. 코드: https://github.com/cotchan/algorithm/blob/main/BOJ/BOJ1484.java 2022. 4. 12.
[BOJ]15787번: 기차가 어둠을 헤치고 은하수를 문제: https://www.acmicpc.net/problem/15787 시뮬레이션 + 비트마스킹 문제입니다. M개의 명령에 대해서는 시뮬레이션으로 처리를 하고, 은하수를 건너는 기차의 조건은 비트마스킹으로 상태를 표현 후 Set에 저장 후 Set의 사이즈를 리턴하면 됩니다. 코드: https://github.com/cotchan/algorithm/blob/main/BOJ/BOJ15787.java 2022. 4. 12.
[BOJ]16938번: 캠프 준비 문제: https://www.acmicpc.net/problem/16938 비트 마스킹이나 조합을 사용하여 완전 탐색으로 해결할 수 있는 문제입니다. N제한이 작으니 0개를 뽑는 것부터 ~ N개 전체를 뽑는 경우의 수를 구한 뒤 각 케이스에 대해 주어진 조건 3가지를 모두 만족하는지 카운팅해주면 됩니다. 1. 뽑은 숫자는 2개 이상 2. L 2022. 3. 30.
[BOJ]1940번: 주몽 문제: https://www.acmicpc.net/problem/1940 여러 가지로 해결할 수 있지만 저는 이분 탐색으로 해결하였습니다. 먼저 오름차순 정렬을 통해 이분 탐색을 할 수 있게 합니다. 루프를 한 번 돌면서 첫 번째 갑옷을 고르고, 나머지 후보 갑옷을 이분 탐색을 통해 logN에 탐색합니다. 그래서 두 갑옷의 쌍을 고르는 작업을 NlogN에 해결할 수 있습니다. 코드: https://github.com/cotchan/algorithm/blob/main/BOJ/BOJ1940.java 2022. 3. 29.