약수의 합 2 (17427번) https://www.acmicpc.net/problem/17427 시행착오 첫번째 시도 : 처음 문제를 봤을 때 시간 제한이 0.5초인걸 보고 하나씩 약수를 구한 후 더하면 시간초과가 발생할 것 같았다. 대략 1억번 반복할 때 1초라고 얘기를 들은적이 있는데 1,000,000 * 1,000,0...
[BOJ 2092] KMP는 왜 KMP일까?
KMP는 왜 KMP일까? (2902번) https://www.acmicpc.net/problem/2902 풀이방법 import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static ...
[BOJ 4375] 1
1 (4375번) https://www.acmicpc.net/problem/4375 이전풀이 BigInteger를 이용해 풀었으나 성능이 좋지 않았다. 이전풀이 문제설명 1로만 이루어진 n의 배수를 찾는다는 것은 1로만 이루어진 숫자 예)111를 n으로 나눴을 때 나누어 떨어지는가? 를 묻는 것이다. 예제 출력의 3은 111이 ...
[BOJ 1759] 암호 만들기
암호 만들기 (1759번) https://www.acmicpc.net/problem/1759 풀이방법 재귀를 이용해 문제를 해결할 수 있다. 문제 내용 중 암호를 이루는 알파벳이 증가하는 순서로 배열되었을 것이라고 하였으므로 입력받은 C개의 문자들을 정렬해주었다. 최소 한 개의 모음과 최소 두 개의 자음으로 구성되어 있다고 하였으므로 자...
[BOJ 5565] 영수증
영수증 (5565번) https://www.acmicpc.net/problem/5565 풀이방법 첫번째 줄에는 10권의 총 가격이 주어진다고 하였으므로 두번째 줄부터 마지막 줄 까지의 합을 첫번째 값에서 빼주면 정답을 유추할 수 있다. import java.io.IOException; import java.io.BufferedReader; ...
[BOJ 1037] 약수
약수 (1037번) https://www.acmicpc.net/problem/1037 풀이방법 문제 내용에서 어떤 수 N의 진짜 약수가 모두 주어진다 하였으므로 정렬 후 맨 처음과 마지막을 곱하면 N을 구할 수 있다. import java.io.IOException; import java.io.BufferedReader; import jav...
[BOJ 6603] 로또
로또 (6603번) https://www.acmicpc.net/problem/6603 풀이방법 주어지는 로또 번호들은 오름차순으로 주어지며 사전 순으로 출력해야 하므로 주어진 번호 중 6개를 이용해 조합하면 된다. import java.io.IOException; import java.io.BufferedReader; import java....
[BOJ 10971] 외판원 순회 2
외판원 순회 2 (10971번) https://www.acmicpc.net/problem/6603 이전풀이 처음에는 모든 순열을 구해서 ArrayList에 저장하고 그 순열을 이용해 최소값을 구하도록 구혔했었다. 그러다보니 속도에서 700ms 이상의 퍼포먼스가 나왔고 아래와 같은 방법으로 수정한 결과 300ms대 퍼포먼스가 나왔다. 그러나 ...
[BOJ 10819] 차이를 최대로
차이를 최대로 (10819번) https://www.acmicpc.net/problem/10819 풀이방법 입력받은 배열을 이용해 모든 순열을 구함과 동시에 최대값을 구해주면 된다. import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamRead...
[BOJ 10974] 모든 순열
모든 순열 (10974번) https://www.acmicpc.net/source/36738364 풀이방법 1부터 N까지의 수로 이루어진 모든 순열을 사전순으로 출력하는 문제이다. 방문하지 않은 데이터를 이용해 순열을 만들어야 하므로 visited 배열을 추가해 구현하였다. import java.io.IOException; import ...