GitHub 자세히보기

Java 13

[백준] 11047번 동전 0 for JAVA - 탐욕 알고리즘 적용한 풀이

문제설명 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 제한사항 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 출력 첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. 문제풀이 동전이 오름차순으로 정렬되어 입력되기 때문에 뒤에서부터 동전이 계산 가능한지 확인한다. input 배열을 뒤에서부터 탐색 n번째 input 값이..

Algorithm/BOJ 2022.01.11

[JAVA] JAVA의 탄생부터 개념, 특징, 변수(형 변환)까지 알아보기

안녕하세요 데브당에입니다. 오늘은 프로그래밍 언어 중 하나인 JAVA에 대해 알아보려합니다. 개념부터 특징, 변수까지 기초적인 내용을 알아보도록 하겠습니다. JAVA 자바는 썬 마이크로시스템즈의 제임스 고슬링과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어입니다. 1991년 그린 프로젝트(가전기기 어플리케이션 제작)을 위해 자바의 초안이 제안되었습니다. 하지만 널리 이용되지 못하다가 인터넷이 활성화되면서 컴퓨터의 다양한 플랫폼에서 똑같이 동작하는 언어가 필요하게 되면서 각광받게 되었습니다. 1995년, JAVA라는 이름으로 공식버전을 발표합니다. JAVA의 특징 객체지향 "실세계의 모든 것은 객체 간의 상호작용에 의해 이루어진다."는 개념을 전제로하여 모든 것을 객체로 정의함 플랫폼 독립적 JVM만..

Programming/JAVA 2022.01.10

[백준] 1806번 부분합 for JAVA - 인덱스 이동

문제설명 10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오. 제한사항 입력 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. 출력 첫째 줄에 구하고자 하는 최소의 길이를 출력한다. 만일 그러한 합을 만드는 것이 불가능하다면 0을 출력하면 된다. 문제풀이 이번 문제는 이중 for문을 적용할 경우, 시간초과에 걸리는 문제입니다. 따라서 연속된 수열의 시작점(left)과 끝점(right)을 인덱스로 지정하여 ..

Algorithm/BOJ 2022.01.10

[백준] 2011번 암호코드 for JAVA

문제설명 상근이와 선영이가 다른 사람들이 남매간의 대화를 듣는 것을 방지하기 위해서 대화를 서로 암호화 하기로 했다. 그래서 다음과 같은 대화를 했다. 상근: 그냥 간단히 암호화 하자. A를 1이라고 하고, B는 2로, 그리고 Z는 26으로 하는거야. 선영: 그럼 안돼. 만약, "BEAN"을 암호화하면 25114가 나오는데, 이걸 다시 글자로 바꾸는 방법은 여러 가지가 있어. 상근: 그렇네. 25114를 다시 영어로 바꾸면, "BEAAD", "YAAD", "YAN", "YKD", "BEKD", "BEAN" 총 6가지가 나오는데, BEAN이 맞는 단어라는건 쉽게 알수 있잖아? 선영: 예가 적절하지 않았네 ㅠㅠ 만약 내가 500자리 글자를 암호화 했다고 해봐. 그 때는 나올 수 있는 해석이 정말 많은데, 그..

Algorithm/BOJ 2022.01.07

[프로그래머스] 쿼드압축 후 개수 세기 for JAVA 분할정복

문제설명 0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다. 당신이 압축하고자 하는 특정 영역을 S라고 정의합니다. 만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다. 그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다. arr이 매개변수로 주어집니다. 위와 같은 방식으로 arr을 압축했을 때, 배열에 최종적으로 남는 0의 개수와 1의 개수를 배열에 담아서 return 하도록 solution 함수를 완성해주세요. 제한사항 arr의 행의 ..

1 2 3