Java
-
2020-09-17 문제 N과 L이 주어질 때, 합이 N이면서, 길이가 적어도 L인 가장 짧은 연속된 음이 아닌 정수 리스트를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 L이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이고, L은 2보다 크거나 같고, 100보다 작거나 같은 자연수이다. 출력 만약 리스트의 길이가 100보다 작거나 같으면, 연속된 수를 첫째 줄에 공백으로 구분하여 출력한다. 만약 길이가 100보다 크거나 그러한 수열이 없을 때는 -1을 출력한다. 소스코드 Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int l = scan.nextInt(); int min = 100; // l보다는 크고 100..
백준 BaekJoon 1024번: 수열의 합 [Java] 자바2020-09-17 문제 N과 L이 주어질 때, 합이 N이면서, 길이가 적어도 L인 가장 짧은 연속된 음이 아닌 정수 리스트를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 L이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이고, L은 2보다 크거나 같고, 100보다 작거나 같은 자연수이다. 출력 만약 리스트의 길이가 100보다 작거나 같으면, 연속된 수를 첫째 줄에 공백으로 구분하여 출력한다. 만약 길이가 100보다 크거나 그러한 수열이 없을 때는 -1을 출력한다. 소스코드 Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int l = scan.nextInt(); int min = 100; // l보다는 크고 100..
2020.09.17 -
2020-09-16 문제 어떤 파일 시스템에는 디스크 공간이 파일의 사이즈와 항상 같지는 않다. 이것은 디스크가 일정한 크기의 클러스터로 나누어져 있고, 한 클러스터는 오직 한 파일만 이용할 수 있기 때문이다. 예를 들어, 클러스터의 크기가 512바이트이고, 600바이트 파일을 저장하려고 한다면, 두 개의 클러스터에 저장하게 된다. 두 클러스터는 다른 파일과 공유할 수 없기 때문에, 디스크 사용 공간은 1024바이트가 된다. 파일의 사이즈와 클러스터의 크기가 주어질 때, 사용한 디스크 공간을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 파일의 개수 N이 주어진다. N은 1,000보다 작거나 같은 자연수이다. 둘째 줄에는 파일의 크기가 공백을 사이에 두고 하나씩 주어진다. 파일의 크기는 1,000,00..
백준 BaekJoon 1350번: 진짜 공간 [Java] 자바2020-09-16 문제 어떤 파일 시스템에는 디스크 공간이 파일의 사이즈와 항상 같지는 않다. 이것은 디스크가 일정한 크기의 클러스터로 나누어져 있고, 한 클러스터는 오직 한 파일만 이용할 수 있기 때문이다. 예를 들어, 클러스터의 크기가 512바이트이고, 600바이트 파일을 저장하려고 한다면, 두 개의 클러스터에 저장하게 된다. 두 클러스터는 다른 파일과 공유할 수 없기 때문에, 디스크 사용 공간은 1024바이트가 된다. 파일의 사이즈와 클러스터의 크기가 주어질 때, 사용한 디스크 공간을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 파일의 개수 N이 주어진다. N은 1,000보다 작거나 같은 자연수이다. 둘째 줄에는 파일의 크기가 공백을 사이에 두고 하나씩 주어진다. 파일의 크기는 1,000,00..
2020.09.16 -
2020-09-15 문제 N으로 나누었을 때 나머지와 몫이 같은 모든 자연수의 합을 구하는 프로그램을 작성하시오. 예를 들어 N=3일 때, 나머지와 몫이 모두 같은 자연수는 4와 8 두 개가 있으므로, 그 합은 12이다. 입력 첫째 줄에 2,000,000 이하의 자연수 N이 주어진다. 출력 첫 줄에 구하고자 하는 수를 출력한다. 소스코드 int n = scan.nextInt(); int number = n; int sum = 0; loop : while(true) { int mok = number / n; int nmg = number % n; if(mok >= n) { break loop; } //몫과 n의 값이 같아지면 더이상 //몫과 나머지가 같은 수는 없다. if(mok == nmg) { sum ..
백준 BaekJoon 1834번: 나머지와 몫이 같은 수 [Java] 자바2020-09-15 문제 N으로 나누었을 때 나머지와 몫이 같은 모든 자연수의 합을 구하는 프로그램을 작성하시오. 예를 들어 N=3일 때, 나머지와 몫이 모두 같은 자연수는 4와 8 두 개가 있으므로, 그 합은 12이다. 입력 첫째 줄에 2,000,000 이하의 자연수 N이 주어진다. 출력 첫 줄에 구하고자 하는 수를 출력한다. 소스코드 int n = scan.nextInt(); int number = n; int sum = 0; loop : while(true) { int mok = number / n; int nmg = number % n; if(mok >= n) { break loop; } //몫과 n의 값이 같아지면 더이상 //몫과 나머지가 같은 수는 없다. if(mok == nmg) { sum ..
2020.09.15 -
2020-09-14 문제 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 가 된다. 평균 이외의 또 다른 대표값으로 중앙값이라는 것이 있다. 중앙값은 주어진 수를 크기 순서대로 늘어 놓았을 때 가장 중앙에 놓인 값이다. 예를 들어 10, 40, 30, 60, 30의 경우, 크기 순서대로 늘어 놓으면 10 30 30 40 60 이 되고 따라서 중앙값은 30 이 된다. 다섯 개의 자연수가 주어질 때 이들의 평균과 중앙값을 구하는 프로그램을 작성하시오. 입력 첫째 줄부터 다섯 번째 줄까지 한 줄에 하나씩 자연수가 주어진다. 주어지는 자연수는 100 보다 작은 10..
백준 BaekJoon 2587번: 대표값2 [Java] 자바2020-09-14 문제 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 가 된다. 평균 이외의 또 다른 대표값으로 중앙값이라는 것이 있다. 중앙값은 주어진 수를 크기 순서대로 늘어 놓았을 때 가장 중앙에 놓인 값이다. 예를 들어 10, 40, 30, 60, 30의 경우, 크기 순서대로 늘어 놓으면 10 30 30 40 60 이 되고 따라서 중앙값은 30 이 된다. 다섯 개의 자연수가 주어질 때 이들의 평균과 중앙값을 구하는 프로그램을 작성하시오. 입력 첫째 줄부터 다섯 번째 줄까지 한 줄에 하나씩 자연수가 주어진다. 주어지는 자연수는 100 보다 작은 10..
2020.09.14 -
2020-09-13 문제 오각형의 각 변에 아래 그림과 같이 점을 찍어 나간다. N단계에서 점의 개수는 모두 몇 개일까? 입력 첫째 줄에 N(1≤N≤10,000,000)이 주어진다. 출력 첫째 줄에 N단계에서 점의 개수를 45678로 나눈 나머지를 출력한다. 소스코드 Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int sum = 0; int count = 3; for(int i = 1; i
백준 BaekJoon 1964번: 오각형, 오각형, 오각형... [Java] 자바2020-09-13 문제 오각형의 각 변에 아래 그림과 같이 점을 찍어 나간다. N단계에서 점의 개수는 모두 몇 개일까? 입력 첫째 줄에 N(1≤N≤10,000,000)이 주어진다. 출력 첫째 줄에 N단계에서 점의 개수를 45678로 나눈 나머지를 출력한다. 소스코드 Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int sum = 0; int count = 3; for(int i = 1; i
2020.09.13 -
2020-09-13 문제 상근이는 망가진 전투 드로이드를 고치려고 하고 있다. 전투 드로이드의 각 부품의 가격은 다음과 같다. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 음이 아닌 정수 다섯 개(A B C D E)로 이루어져 있다. A: 필요한 블래스터 라이플의 개수 B: 필요한 시각 센서의 개수 C: 필요한 청각 센서의 개수 D: 필요한 팔의 수 E: 필요한 다리의 수 출력 각 테스트 케이스마다, 입력으로 주어진 부품을 모두 구매하는데 필요한 비용을 소수점 둘째 자리까지 출력한다. 달러 표시도 출력해야 한다. 정답은 1억보다 작거나 같다. 소스코드 ※ 출력값을 소수 둘째 자리까지 출력하는 함수만 알고 있다면 손쉽게 풀 수 있는 문제이다. 우선적으로 가격표 배열을 하난 만든 후..
백준 BaekJoon 5361번: 전투 드로이드 가격 [Java] 자바2020-09-13 문제 상근이는 망가진 전투 드로이드를 고치려고 하고 있다. 전투 드로이드의 각 부품의 가격은 다음과 같다. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 음이 아닌 정수 다섯 개(A B C D E)로 이루어져 있다. A: 필요한 블래스터 라이플의 개수 B: 필요한 시각 센서의 개수 C: 필요한 청각 센서의 개수 D: 필요한 팔의 수 E: 필요한 다리의 수 출력 각 테스트 케이스마다, 입력으로 주어진 부품을 모두 구매하는데 필요한 비용을 소수점 둘째 자리까지 출력한다. 달러 표시도 출력해야 한다. 정답은 1억보다 작거나 같다. 소스코드 ※ 출력값을 소수 둘째 자리까지 출력하는 함수만 알고 있다면 손쉽게 풀 수 있는 문제이다. 우선적으로 가격표 배열을 하난 만든 후..
2020.09.13 -
2020-09-12 문제 하나 이상의 연속된 소수의 합으로 나타낼 수 있는 자연수들이 있다. 몇 가지 자연수의 예를 들어 보면 다음과 같다. 3 : 3 (한 가지) 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (세 가지) 53 : 5+7+11+13+17 = 53 (두 가지) 하지만 연속된 소수의 합으로 나타낼 수 없는 자연수들도 있는데, 20이 그 예이다. 7+13을 계산하면 20이 되기는 하나 7과 13이 연속이 아니기에 적합한 표현이 아니다. 또한 한 소수는 반드시 한 번만 덧셈에 사용될 수 있기 때문에, 3+5+5+7과 같은 표현도 적합하지 않다. 자연수가 주어졌을 때, 이 자연수를 연속된 소수의 합으로 나타낼 수 있는 경우의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 자..
백준 BaekJoon 1644번: 소수의 연속합 [Java] 자바2020-09-12 문제 하나 이상의 연속된 소수의 합으로 나타낼 수 있는 자연수들이 있다. 몇 가지 자연수의 예를 들어 보면 다음과 같다. 3 : 3 (한 가지) 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (세 가지) 53 : 5+7+11+13+17 = 53 (두 가지) 하지만 연속된 소수의 합으로 나타낼 수 없는 자연수들도 있는데, 20이 그 예이다. 7+13을 계산하면 20이 되기는 하나 7과 13이 연속이 아니기에 적합한 표현이 아니다. 또한 한 소수는 반드시 한 번만 덧셈에 사용될 수 있기 때문에, 3+5+5+7과 같은 표현도 적합하지 않다. 자연수가 주어졌을 때, 이 자연수를 연속된 소수의 합으로 나타낼 수 있는 경우의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 자..
2020.09.12 -
2020-09-09 안녕하세요~! 오늘은 입력한 임의의 숫자 n에 대하여, 해당 수의 배수와 그들의 합 개수를 구해보도록 하겠습니다. 어렵지 않은 내용이니 바로 코드 첨부 후 설명하도록 하겠습니다. 소스코드 ※ 우선 변수를 설명하겠습니다. mok : 범위 변수 i 나누기 입력된 변수의 값이 저장 nmg : 범위 변수 i 나누기 입력된 변수 후 나머지 값이 저장 → 코드 진행간 0인지 아닌지 여부 체크 할 예정 모든 배수를 구하고자 하면 범위가 무한대로 증가하기 때문에 1 ~ 100 까지 범위를 한정지어 코드를 작성했습니다. //n의 배수의 개수와 합 구하기 Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int mok, nmg; int su..
[Java] 자바 N의 개수와 합을 구해보자! / N의 배수 합 구하기2020-09-09 안녕하세요~! 오늘은 입력한 임의의 숫자 n에 대하여, 해당 수의 배수와 그들의 합 개수를 구해보도록 하겠습니다. 어렵지 않은 내용이니 바로 코드 첨부 후 설명하도록 하겠습니다. 소스코드 ※ 우선 변수를 설명하겠습니다. mok : 범위 변수 i 나누기 입력된 변수의 값이 저장 nmg : 범위 변수 i 나누기 입력된 변수 후 나머지 값이 저장 → 코드 진행간 0인지 아닌지 여부 체크 할 예정 모든 배수를 구하고자 하면 범위가 무한대로 증가하기 때문에 1 ~ 100 까지 범위를 한정지어 코드를 작성했습니다. //n의 배수의 개수와 합 구하기 Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int mok, nmg; int su..
2020.09.09 -
2020-09-04 피보나치 수열 정의 수학에서, 피보나치 수(영어: Fibonacci numbers)는 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다. 처음 여섯 항은 각각 1, 1, 2, 3, 5, 8이다. 편의상 0번째 항을 0으로 두기도 한다. 출처 : 위키피디아 소스코드 ※ 10번째 피보나치 수열 즉 F10을 구해보자. ※ 피보나치 수열은 0 부터 시작한다. int a = 0; //첫째 항 int b = 1; //둘째 항 int c = 0; // 셋째 항 = 출력값 for(int i = 1; i < 10; i++) { c = a + b; a = b; b = c; } // 피보나치는 0, 1, 1, 2, ... 순으로 커지기 때문에 // F0의 값은 a와 같고 F1..
[Java] 자바 피보나치 수열을 구해보자! / 피보나치 수열 구하는법 이론2020-09-04 피보나치 수열 정의 수학에서, 피보나치 수(영어: Fibonacci numbers)는 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다. 처음 여섯 항은 각각 1, 1, 2, 3, 5, 8이다. 편의상 0번째 항을 0으로 두기도 한다. 출처 : 위키피디아 소스코드 ※ 10번째 피보나치 수열 즉 F10을 구해보자. ※ 피보나치 수열은 0 부터 시작한다. int a = 0; //첫째 항 int b = 1; //둘째 항 int c = 0; // 셋째 항 = 출력값 for(int i = 1; i < 10; i++) { c = a + b; a = b; b = c; } // 피보나치는 0, 1, 1, 2, ... 순으로 커지기 때문에 // F0의 값은 a와 같고 F1..
2020.09.04 -
2020-08-31 이론 1부터 100까지의 수의 합을 구하는 방법 1 + 2 + 3 . . . . . . + 100 까지의 합을 손쉽게 코딩으로 구하는 방법을 알아보도록 하겠습니다. int sum, number; number = 0; sum = 0; // 우선적으로 1씩 더해줄 변수 number 선언 // 각 number가 더해질 sum변수를 선언합니다. do { number++; sum += number; }while(number
[Java] 자바 수열 연속합 구하기 1~100까지의 합구하기 / 자바수열2020-08-31 이론 1부터 100까지의 수의 합을 구하는 방법 1 + 2 + 3 . . . . . . + 100 까지의 합을 손쉽게 코딩으로 구하는 방법을 알아보도록 하겠습니다. int sum, number; number = 0; sum = 0; // 우선적으로 1씩 더해줄 변수 number 선언 // 각 number가 더해질 sum변수를 선언합니다. do { number++; sum += number; }while(number
2020.08.31