목록전체 글 (69)
Binaryseop
https://www.acmicpc.net/problem/11660 접근n의 크기가 1,024이고, 합을 구해야 하는 횟수가 100,000입니다. 구간마다 합을 매번 계산하면 1초안에 모든 구간의 합을 계산할 수 없습니다. 구간 합을 이용하면 시간 복잡도를 O(n)에서 O(1)로 줄여 문제를 해결할 수 있습니다. 그러므로 모든 구간의 합을 구하는 데에는 총 시간 복잡도가 O(M)이 될 것입니다. 코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception {..
https://www.acmicpc.net/problem/11659 접근수의 개수와 합을 구해야 하는 횟수는 최대 100,000입니다. 구간마다 합을 매번 계산하면 1초안에 모든 구간 합 계산을 끝낼 수 없습니다. 구간 합을 이용하면 시간 복잡도를 O(n)에서 O(1)로 줄여 문제를 해결 할 수 있습니다. 코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputS..
https://www.acmicpc.net/problem/1546 접근과목의 개수가 n, 최대 점수를 m, 점수의 합을 s라고 하면 s / m * 100 / n의 식으로 문제를 쉽게 풀 수 있습니다.예를 들어, n이 3이고 각 과목의 점수를 a, b, c라고 하면(a / m * 100 + b / m * 100 + c / m * 100) / 3 = (a + b + c) / m * 100 / 3의 식이 나오게 됩니다. 코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws ..
https://www.acmicpc.net/problem/11720접근1. 숫자 문자열을 char[] 형으로 변환합니다.2. char[] 형 배열을 탐색하면서 정수값으로 변환하고 합을 구합니다. 코드import java.io.BufferedReader;import java.io.InputStreamReader;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 입력 처리 int n = Integer.parseInt(br.readLine()); char[] nums = br.r..