본문 바로가기

자바36

백준 > 1992번 > 쿼드트리 - JAVA 문제 흑백 영상을 압축하여 표현하는 데이터 구조로 쿼드 트리(Quad Tree)라는 방법이 있다. 흰 점을 나타내는 0과 검은 점을 나타내는 1로만 이루어진 영상(2차원 배열)에서 같은 숫자의 점들이 한 곳에 많이 몰려있으면, 쿼드 트리에서는 이를 압축하여 간단히 표현할 수 있다. 주어진 영상이 모두 0으로만 되어 있으면 압축 결과는 "0"이 되고, 모두 1로만 되어 있으면 압축 결과는 "1"이 된다. 만약 0과 1이 섞여 있으면 전체를 한 번에 나타내지를 못하고, 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래, 이렇게 4개의 영상으로 나누어 압축하게 되며, 이 4개의 영역을 압축한 결과를 차례대로 괄호 안에 묶어서 표현한다 위 그림에서 왼쪽의 영상은 오른쪽의 배열과 같이 숫자로 주어지며, 이 영상을 .. 2023. 2. 22.
백준 > 11653번 > 소인수분해 - JAVA 문제 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. 출력 N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다. 코드 import java.io.*; import java.util.*; public class Main { static Scanner sc = new Scanner(System.in); public static void main(String args[]) throws IOException { /* 11653 소인수분해 * 정수 입력받아서 소인수 분해 */ int n = sc.nextInt(); for(int i = 2; i 코딩테스트 연습 > 코딩테스트.. 2022. 12. 29.
코딩테스트 입문 > 가까운 수 - JAVA 문제 정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 제한사항 1 ≤ array의 길이 ≤ 100 1 ≤ array의 원소 ≤ 100 1 ≤ n ≤ 100 가장 가까운 수가 여러 개일 경우 더 작은 수를 return 합니다. 입출력 예 입출력 예 array n result [3, 10, 28] 20 28 [10, 11, 12] 13 12 입출력 예 설명 입출력 예 #1 3, 10, 28 중 20과 가장 가까운 수는 28입니다. 입출력 예 #2 10, 11, 12 중 13과 가장 가까운 수는 12입니다. 코드 class Solution { public int solution(in.. 2022. 12. 29.
프로그래머스 > 코딩테스트 입문 > 소인수분해 - JAVA 문제 문제 설명 소인수분해란 어떤 수를 소수들의 곱으로 표현하는 것입니다. 예를 들어 12를 소인수 분해하면 2 * 2 * 3 으로 나타낼 수 있습니다. 따라서 12의 소인수는 2와 3입니다. 자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 제한사항 2 ≤ n ≤ 10,000 입출력 예 입출력 예 n result 12 [2, 3] 17 [17] 420 [2, 3, 5, 7] 입출력 예 설명 입출력 예 #1 12를 소인수분해하면 2 * 2 * 3 입니다. 따라서 [2, 3]을 return합니다. 입출력 예 #2 17은 소수입니다. 따라서 [17]을 return 해야 합니다. 입출력 예 #3 420을 소인수분해하면 2 .. 2022. 12. 29.
Scanner 로 char 형 입력하기 - JAVA int 는 nextInt(); String 은 next(); 그러면 char 는???? 없다!!!!!!!!!!!!!!! 그러면 어떡해야 할까요? String형으로 입력 받은 후 charAt(); 으로 똑 끊어 읽어야합니다..... public class Main { static Scanner sc = new Scanner(System.in); public static void main(String args[]) throws IOException { /* char형을 Scanner로 입력받아보자*/ char al = sc.next().charAt(0); System.out.println(al); } } 2022. 12. 25.
프로그래머스 > 코딩테스트 입문 > 최댓값 만들기 (2) - JAVA 문제 문제 설명 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요. 제한사항 제한사항 -10,000 ≤ numbers의 원소 ≤ 10,000 2 ≤ numbers 의 길이 ≤ 100 입출력 예 입출력 예 numbers result [1, 2, -3, 4, -5] 15 [0, -31, 24, 10, 1, 9] 240 [10, 20, 30, 5, 5, 20, 5] 600 입출력 예 설명 입출력 예 #1 두 수의 곱중 최댓값은 -3 * -5 = 15 입니다. 입출력 예 #2 두 수의 곱중 최댓값은 10 * 24 = 240 입니다. 입출력 예 #3 두 수의 곱중 최댓값은 20 * 30 = 600 .. 2022. 12. 23.