[BaekJoon] 1016번 - 제곱 ㄴㄴ 수 [Java][C++]
문제 링크 1. 문제 풀이 min과 max 사이의 수 중에서 어떠한 제곱수로도 나누어 떨어지지 않는 수의 개수를 구하는 문제로 구간의 크기가 최대 $1,000,000$ 이고 각 수가 매우 크다. 에라토스테네스의 체처럼 미리 체크용 배열을 만들고 제곱 ㄴㄴ 수이면 체크하는 방식으로 필터링을 하면 해결할 수 있다. 이때 min이 매우 큰 수가 ...
문제 링크 1. 문제 풀이 min과 max 사이의 수 중에서 어떠한 제곱수로도 나누어 떨어지지 않는 수의 개수를 구하는 문제로 구간의 크기가 최대 $1,000,000$ 이고 각 수가 매우 크다. 에라토스테네스의 체처럼 미리 체크용 배열을 만들고 제곱 ㄴㄴ 수이면 체크하는 방식으로 필터링을 하면 해결할 수 있다. 이때 min이 매우 큰 수가 ...
문제 링크 1. 문제 풀이 주어진 집합에서 $x$ 를 포함하면서 $x$ 가 집합에는 포함되지 않는 좋은 구간의 개수를 구하는 문제로 이런 좋은 구간이 될 수 있는 구간 양 끝 값의 상한과 하한을 구해줬다. 주어진 집합을 순회하며 $x$ 보다 같거나 작은 수 중에서 가장 큰 수와 $x$ 보다 같거나 큰 수 중에서 가장 작은 수를 구하면 좋은 ...
문제 링크 1. 문제 풀이 주어진 두 연산이 동일한 결과를 내는지 판단하는 문제로 $A$, $B$ 를 문자열로 다루어서 해결했다. 두 수의 곱은 정수 타입 오버플로우만 주의하면 되고, 이상한 곱셈은 더 짧은 수의 앞에 $1$ 을 길이가 맞을 때까지 넣어줘서 곱셈을 편하게 할 수 있게 해주었다. 2. 코드 1. 풀이 [Java] ...
문제 링크 1. 문제 풀이 수빈이가 동생을 찾는 최단 시간을 구해야 하는데 동생이 매초 움직이는 상황이다. 수빈이의 이동은 $X - 1$, $X + 1$, $2 \times X$ 총 3가지가 있는데, 이때 한 칸 옆으로 이동했다가 다시 원래 자리로 돌아가면 2초를 소모해서 원래 자리로 돌아올 수 있다는 것이 포인트다. 수빈이가 방문한 좌표들...
문제 링크 1. 문제 풀이 주어진 수열에 해당 규칙을 적용할 시 언젠가는 반복되는 구간이 나온다고 전제하고 있어서 무한 루프를 활용하다가 해당 조건을 만나면 출력 후 종료를 해줬다. 특정 수가 등장했는지 여부를 알아야하며 반복되지 않는 구간의 길이를 위해 각 수의 등장 위치가 필요해서 해시맵 자료구조로 키에 해당 수, 값에 등장 순서를 저장...
문제 링크 1. 문제 풀이 Solved.ac에서 팽귄과 함께 마작을 프로필 배경을 획득할 수 있는 문제로 덱 자료구조를 활용하면 해결할 수 있다. 주어진 수열 $A$ 를 적용한 결과가 $1$ 부터 $N$ 까지의 순서가 되므로 이를 역순으로 탐색하며 초기 카드 상태를 찾아야한다. 초기 카드 상태를 담을 덱을 선언한 후 역순으로 탐색하며 1번...
문제 링크 1. 문제 풀이 주어진 MenOfPassion 알고리즘은 파리미터로 넘어온 배열과 $n$ 에 대해 $n$ 을 2로 나눈 바닥값의 인덱스로 배열의 값을 반환한다. 입력의 크기와 무관하게 반환은 항상 1번만하므로 수행횟수는 1회이며, 시간복잡도는 $O(1)$ 이라 최고차항의 계수는 $0$ 이다. 2. 코드 1. 풀이 [Ja...
문제 링크 1. 문제 풀이 양방향 간선들이 주어진 그래프에 대해 깊이 우선 탐색을 하면 되는 문제로 인접 리스트를 활용하면 되며, 내림차순 방문을 위해 정렬을 한번 해주었다. 2. 코드 1. 풀이 [Java] import java.io.*; import java.util.*; public class Main { sta...
문제 링크 1. 문제 풀이 주어진 문자열을 소문자로 변환해서 출력만 해주면 된다. 2. 코드 1. 풀이 [Java] import java.io.*; public class Main { public static void main(String[] args) throws IOException { Buffered...
문제 링크 1. 문제 풀이 $X$ 자리 레퓨닛과 $Y$ 자리 레퓨닛의 합은 $1$ 이 자릿수의 차만큼 먼저 나오고 이후 $2$ 가 더 작은 자릿수만큼 나오게 된다. 2. 코드 1. 풀이 [Java] import java.io.*; import java.util.*; public class Main { public sta...