FickleBoBo

[BaekJoon] 12891번 - DNA 비밀번호 [Java][C++]

문제 링크 1. 문제 풀이 주어진 문자열에 대해 고정된 길이의 임의의 구간이 비밀번호의 조건을 만족하는 경우의 수를 구하는 문제다. 조건은 구간이 각 문자를 특정 개수 이상 포함해야 한다. 문자열과 구간의 최대 길이가 $1,000,000$ 이라는 점에서 $O(N^2)$ 풀이는 시간 초과가 발생하는데 슬라이딩 윈도우를 활용하면 해결할 수 있다...

[BaekJoon] 2960번 - 에라토스테네스의 체 [Java][C++]

문제 링크 1. 문제 풀이 에라토스테네스의 체에서 탐색한 수들을 카운팅하면 되는 문제로 에라토스테네스의 체 로직 중간에 탐색에 거쳐간 값들을 카운팅하는 방식으로 해결했다. 이때 에라토스테네스의 체는 중복 탐색을 하므로 방문 체크를 통해 방문한 적 없는 값들만 카운팅 해야 한다. 2. 코드 1. 풀이 [Java] import ja...

[BaekJoon] 2312번 - 수 복원하기 [Java][C++]

문제 링크 1. 문제 풀이 주어진 수들을 소인수분해한 결과를 출력하는 문제로 에라토스테네스의 체를 활용해 소수들을 얻고 이 소수들로 $1$ 이 될 때까지 반복적으로 나누면 된다. 2. 코드 1. 풀이 [Java] 소수를 리스트로 얻은 후 각 소수들로 나눌 수 있으면 나누고 몫을 카운팅하는 방식으로 구현했다. 에라토스테네스의 체의...