
문제. 스네이크 버드는 뱀과 새의 모습을 닮은 귀여운 생물체입니다. 스네이크 버드의 주요 먹이는 과일이며 과일 하나를 먹으면 길이가 1만큼 늘어납니다. 과일들은 지상으로부터 일정 높이를 두고 떨어져 있으며 i (1 ≤ i ≤ N) 번째 과일의 높이는 hi입니다. 스네이크 버드는 자신의 길이보다 작거나 같은 높이에 있는 과일들을 먹을 수 있습니다. 스네이크 버드의 처음 길이가 L일 때 과일들을 먹어 늘릴 수 있는 최대 길이를 구하세요. 입출력. 첫 번째 줄에 과일의 개수 N (1 ≤ N ≤ 1,000)과 스네이크 버드의 초기 길이 정수 L (1 ≤ L ≤ 10,000) 이 주어집니다. 두 번째 줄에는 정수 h1, h2,..., hN (1 ≤ hi ≤ 10,000) 이 주어집니다. 스네이크 버드의 최대길이를..

문제. 줄을 서 있는 사람의 수 N과 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어졌을 때, 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 구하는 프로그램을 작성하시오. 입출력. 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) 그리고 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 출력한다. 방법. 가장 적게 걸리는 시간을 구해야 하니까, 먼저 입력받은 시간을 오름차순으로 정리하고 합계를 구했다. #include #include void input(int size, int *arr); //입력 void sort(int size, int *arr); //정렬 int re..

문제. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입출력. 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. 방법. k의 값이 동전의 가치보다 작으면 해당 동전은 사용할 수 없다. 그렇기 때문에 k의 값이 동전보다 크거나 같은 동전만을 사용할 수 있다. ( k > 동전의 값 ) (예) k=4000, 동전=5000 → 동전은 사용할 수 없다. / k=4000, ..

깃허브에 1일 1 커밋해보기로 다짐했는데, 뭘 올리면 좋을지 모르겠어서 일단 백준 문제 하루에 1개씩 풀어서 올려보려 한다. 음...... 최근에는 C언어를 계속 다뤄서 그런지, 익숙해져서 당분간은 C언어를 사용해 풀지 않을까 싶고 자바는 코드 업 기초 100제 풀고 나서 백준 시작하던가 해야겠다. 최근에 이것저것 시작한 게 많아서 매일매일 풀기 힘들 수도 있는데 그래도 마음 다잡으면서 시작하고자 1일 1sol 목표로 삼아 본다.

📌 형식화 출력 함수 printf( ) println()과 동일하게 출력을 돕는 함수이나, 출력 형식을 지정할 수 있다는 차이점이 있다. 그리고 println()과 달리 개행이 포함되어 있지 않으므로, 개행을 원하는 경우 지시자를 사용해야 한다. 1. 지시자 지시자 설명 예시 출력 결과 %b boolean 형식으로 출력 System.out.printf( "%b", true); true %d 10진수의 형식으로 출력 System.out.printf( "%d", 10); 10 %o 8진수의 형식으로 출력 System.out.printf( "%o", 10); 12 %x, %X 16진수의 형식으로 출력 System.out.printf( "%x", 10); a %f 부동 소수점 형식으로 출력 System.out...

📌 상수와 리터럴 상수는 변하지 않는 값을 저장하는 공간을 의미하며, 한 번 초기화하면 다른 값으로 변경할 수 없다. 변수와 같은 방법으로 선언하지만, 상수임을 알리기 위해 선언 시 자료형 앞에 final 키워드를 붙이고 상수명을 대문자로 정한다. 상수는 코드의 이해를 돕고, 수정을 쉽게 하기 위해 사용한다. 1. 상수의 선언과 초기화 final 자료형 상수명 = 값; ✔ 상수는 반드시 선언과 동시에 초기화해야한다. ✔ 상수의 이름은 대문자로 하고, 여러 단어로 이루어지는 경우 언더바를 사용하는 것이 암묵적인 약속이다. final int MAX_SCORE = 100; ✔ 상수는 이와 같이 변하지 않는 값을 의미하기 때문에, 기존의 상수는 리터럴이라 부른다. 변수(variable) 값을 저장하기 위한 공간..

📌 자료형 ✔ 값의 종류에 따라 값이 저장될 공간의 크기와 저장 형식을 정의한 것 1. 기본형과 참조형 ✔ 기본형 : 실제 값을 저장 ✔ 참조형 : 어떤 값이 저장되어 있는 메모리 주소를 값으로 저장 ✔ 자바는 C언어와 달리 참조형 변수 간의 연산을 할 수 없으므로, 실제 연산에 사용되는 것은 모두 기본형 변수. ✔ 앞서 변수를 선언하는 방식은 기본형을 사용한 방식이므로, 참조형 변수의 선언에 대해 살펴보자 클래스이름 변수이름; ✔ 기본형이 아닌 자료형은 모두 참조형이므로, 클래스명 또한 참조형에 속한다. ✔ 즉, 새로운 클래스의 작성은 새로운 참조형을 추가하는 셈이다. 참조형의 초기화는 아래와 같다 Scanner sc = new Scanner(System in); ✔ 자료형이 기본형이 아니므로, 이는 ..

📌 변수 ✔ 변수란 하나의 값을 저장할 수 있는 메모리 공간. 1. 변수의 선언 자료형 변수명; ✔ 자료형 : 변수에 저장될 값이 어떤 자료형인지를 지정 ✔ 변수명 : 변수에 붙인 이름 ✔ 변수를 선언해, 변수 타입에 맞는 크기의 메모리 공간을 할당받고, 이 공간은 변수명을 통해 사용할 수 있다. package ch02; public class ch021 { public static void main(String[] args) { int score; //score라는 이름의 변수 선언 } } ✔ 콤마를 사용해 한 줄에 여러 변수를 선언할 수 있다. package ch02; public class ch021 { public static void main(String[] args) { int math, en..

📌 Source Tree에서 Clone 생성 1. 소스 경로 / URL : 사용할 reporepository의 url을 가지고 와서 입력 2. 목적지 경로 : 클론파일을 저장하고자 하는 디렉토리 입력 3. 이름 : 파일명 4. 클론 완료 후 해당 디렉토리로 이동하면 클론된 것을 확인할 수 있다. 📌 Commit 해보기 1. 클론한 디렉토리로 이동, text 파일을 하나 생성해 helloWolrd.html 파일로 저장. 2. 클론 파일에 수정이 생기면, Source Tree 에서 스테이지에 올라가지 않은 파일을 확인할 수 있다. 3. 원하는 파일을 선택해 스테이지에 올리기 → 말하자면 스테이지는 커밋(Commit) 예정 목록 4. 커밋 메세지 작성하고 커밋 ✔ 커밋 시 주의사항 - 반드시 한 번에 하나의 ..