문제 출처: https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 1. 문제 접근방식 - 입력을 받는 대로 누적 합을 구하여 별도의 배열에 저장해두고 구간 i, j 가 주어지면 arr[j] - arr[i-1]을 구하면 완료! 2. 내가 푼 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import jav..
문제 출처: https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 1. 문제 접근방식 - 1부터 경우의 수를 생각해가며 규칙을 찾았다. ex) 1 = 1 → 1개 2 = 1+1, 2 → 2개 3 = 1+1+1, 1+2, 2+1, 3 → 4개 4 = 1+1+1+1, 1+1+2(* 3), 1+3(* 2), 2+2 →7개 5 = 1+1+1+1+1, 1+1+1+2(* 4), 1+1+3(* 3), 1+2+2(* 3), 2+3(* 2) → 13개 N 일 경우 N-3, N-2, N-1의 개수를 합한 값과 같다. 2. 내가 푼 코드 import java.io.B..
문제 출처: https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 1. 문제 접근방식 - 2차원 배열에 값을 넣어준 후 compare메소드를 사용하여 정렬하였다. 2. 내가 푼 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; i..
문제 출처: https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 1. 문제 접근방식 - 함수 카테고리 안에있는 문제인 만큼 d함수를 구현하는 것이 핵심이다. 2. 내가 푼 코드 public class boj4673 { static boolean[] check = new boolean[10001]; static StringBuilder sb = new StringBuilder(); public sta..