목록CodingTest/Java (342)
기록방
👉 문제링크 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 🔸 문제 분석 🔸 입력 된 수 n보다 크고 2n이하인 소수의 개수를 출력한다. 0이 입력 될 때까지 반복한다. 🔸 코드 🔸 import java.util.Scanner; public class Main { private static Scanner sc; public static void main(String[] args) { sc = new Scanner(System.in); int n = sc.nextInt(); while (n != 0) ..
👉 문제링크 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 🔸 문제 분석 🔸 입력받은 수의 소인수분해를 출력한다. 🔸 코드 🔸 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double n = sc.nextDouble(); int d = 2; while (n > 1) { if (n%d == 0) { n /= d; System.out.println(d--); } d++; } } } 🔸 코드 해석 🔸 숫자 n이 1이 될 때까지 2부터 키워가며 나눠본다. 나누어..
👉 문제링크 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 🔸 문제 분석 🔸 long형의 크기를 넘는 아주 큰 수 A, B를 입력받아 합을 출력한다. java의 큰수 처리는 BigInteger형을 만들어 처리한다. BigInteger는 문자열로 처리하기 때문에 아주 큰 수도 처리 가능하다. 🔸 코드 🔸 import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); BigInteger a = new BigInte..
👉 문제링크 18108번: 1998년생인 내가 태국에서는 2541년생?! ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국 www.acmicpc.net 🔸 문제 분석 🔸 입력된 연도에서543를 빼서 출력한다. 🔸 코드 🔸 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println(sc.nextInt()-543); } } 🔸 코드 해석 🔸 입력과 동시..
👉 문제링크 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 🔸 문제 분석 🔸 n개의 수에서 두 수의 합이 x가 되는 경우의 수를 출력한다. 수열을 오름차순 정렬한다. 두 포인터를 만들어서 하나는 맨 앞, 하나는 맨 뒤부터 시작해 합이 x인지 확인하며 카운트한다. 합이 x보다 작으면 앞 포인터를 +1, 크면 뒤 포인터를 -1 한다. 앞 포인터를 +1하면 합이 커진다. 뒤 포인터를 -1하면 합이 작아진다. 앞 포인터와 뒤 포인터가 만나면 종료한다. 카운트한..