자바이론
-
2021-01-24 간혹 문자열에 불필요한 공백이 들어가는 경우가 있는데 이와 같은 경우는 어떻게 처리할까? 물론 변수에 다시 데이터를 입력해주는 방법도 있겠지만, 문자열 데이터가 긴 경우에는 해당 작업이 귀찮아질 수가 있다. 이를 위해서 String에서는 trim이라는 메서드를 제공하는데, 이와 같은 메서드를 사용하는 방법을 알아보자. package String_trim; public class main { public static void main(String[] args) { //문자열의 불필요한 공백을 제거하는 메서드를 알아보자. String a = " Hi Hi Hi!"; String b = "Hi Hi Hi! "; String c = " 안녕하세요 ~! "; // 각 변수별 a는 앞에 불필요한..
[Java] 자바 String 문자열 불필요한 공백 제거하는 법 trim();2021-01-24 간혹 문자열에 불필요한 공백이 들어가는 경우가 있는데 이와 같은 경우는 어떻게 처리할까? 물론 변수에 다시 데이터를 입력해주는 방법도 있겠지만, 문자열 데이터가 긴 경우에는 해당 작업이 귀찮아질 수가 있다. 이를 위해서 String에서는 trim이라는 메서드를 제공하는데, 이와 같은 메서드를 사용하는 방법을 알아보자. package String_trim; public class main { public static void main(String[] args) { //문자열의 불필요한 공백을 제거하는 메서드를 알아보자. String a = " Hi Hi Hi!"; String b = "Hi Hi Hi! "; String c = " 안녕하세요 ~! "; // 각 변수별 a는 앞에 불필요한..
2021.01.24 -
2020-11-29 문제 창영 마을의 우체부, 우유배달원, 신문배달원은 상근이네 집에 가는 것을 매우 싫어한다. 그 이유는 상근이네 집에는 사나운 개 두 마리가 지키고 있기 때문이다. 하지만, 그들은 이 개의 행동이 예측 가능하다는 것을 모르고 있다. 매일 아침, 개 한마리는 A분동안 공격적이고, B분동안 조용히 쉬고 있다. 또다른 개는 C분동안 공격적이고, D분동안 조용히 쉰다. 두 개는 이 행동을 계속해서 연속적으로 반복한다. 우체부, 신문배달원, 우유배달원의 도착 시간이 주어졌을 때, 개 몇 마리에게 공격을 받는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 A, B, C, D가 주어진다. 둘째 줄에는 P, M, N가 주어진다. P는 우체부의 도착 시간, M은 우유배달원의 도착 시간, N은 신문..
백준 BaekJoon 2991번: 사나운 개 [Java] 자바2020-11-29 문제 창영 마을의 우체부, 우유배달원, 신문배달원은 상근이네 집에 가는 것을 매우 싫어한다. 그 이유는 상근이네 집에는 사나운 개 두 마리가 지키고 있기 때문이다. 하지만, 그들은 이 개의 행동이 예측 가능하다는 것을 모르고 있다. 매일 아침, 개 한마리는 A분동안 공격적이고, B분동안 조용히 쉬고 있다. 또다른 개는 C분동안 공격적이고, D분동안 조용히 쉰다. 두 개는 이 행동을 계속해서 연속적으로 반복한다. 우체부, 신문배달원, 우유배달원의 도착 시간이 주어졌을 때, 개 몇 마리에게 공격을 받는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 A, B, C, D가 주어진다. 둘째 줄에는 P, M, N가 주어진다. P는 우체부의 도착 시간, M은 우유배달원의 도착 시간, N은 신문..
2020.11.29 -
2020-11-24 오늘은 자바라는 언어의 가장 큰 특징 객체지향 중 Getter/Setter에 대하여 알아보도록 하겠다. 우선 해당 메서드를 사용하는 이유는 필드 값에 부적절한 값이 대입되는 것을 막기 위해서이다. (물론 각 객체들의 캡슐이 깨지지 않게 하기 위함도 있다.) 글로만 봐서는 이해가 어려울 수 있으니 바로 코드를 통한 예제를 보면서 이해해 보도록 하자. 예를 들어 한 명의 게임 캐릭터가 있다. 해당 캐릭터의 힘 / 민첩 / 지능을 스탯을 배분해야 하며, 스탯은 0부터 시작하기 때문에 - 값은 들어갈 수 없다고 가정해보자. 이러한 경우 실수로 - 값을 대입할 경우, 차후 캐릭터에 문제가 생겨 버그가 발생할 수 있다. 때문에 스텟(필드)은 private로 직접적인 접근을 할 수 없도록 막고, ..
[Java] 자바 Getter/Setter 메소드(Method) 알아보기[초간단]2020-11-24 오늘은 자바라는 언어의 가장 큰 특징 객체지향 중 Getter/Setter에 대하여 알아보도록 하겠다. 우선 해당 메서드를 사용하는 이유는 필드 값에 부적절한 값이 대입되는 것을 막기 위해서이다. (물론 각 객체들의 캡슐이 깨지지 않게 하기 위함도 있다.) 글로만 봐서는 이해가 어려울 수 있으니 바로 코드를 통한 예제를 보면서 이해해 보도록 하자. 예를 들어 한 명의 게임 캐릭터가 있다. 해당 캐릭터의 힘 / 민첩 / 지능을 스탯을 배분해야 하며, 스탯은 0부터 시작하기 때문에 - 값은 들어갈 수 없다고 가정해보자. 이러한 경우 실수로 - 값을 대입할 경우, 차후 캐릭터에 문제가 생겨 버그가 발생할 수 있다. 때문에 스텟(필드)은 private로 직접적인 접근을 할 수 없도록 막고, ..
2020.11.24 -
2020-11-21 final 이름에서도 느껴지듯이 자바에서 final이 선언된 값은 프로그램 실행 도중 변경을 할 수 없다. 때문에 초기화 준 값에서 바뀌지 않는다는 것인데, 초기화 방법을 알아보자. public class tFinal { final String name = "홍길동"; //필드에서 초기화 하는 방법 final String bloodType; public tFinal(String bloodType) { this.bloodType = bloodType; } //생성자에서 초기화 하는 방법 } 위의 코드에서 볼 수 있듯이 final 을 초기화하는 방법은 필드와 생성자를 통해서만 초기화할 수 있다. 단순한 값이라면 필드에서 선언하는 것이 좋으며, 외부에서 입력받아야만 하는 값이라면, 생성자를..
[Java] 자바 final 과 static final을 알아보자!2020-11-21 final 이름에서도 느껴지듯이 자바에서 final이 선언된 값은 프로그램 실행 도중 변경을 할 수 없다. 때문에 초기화 준 값에서 바뀌지 않는다는 것인데, 초기화 방법을 알아보자. public class tFinal { final String name = "홍길동"; //필드에서 초기화 하는 방법 final String bloodType; public tFinal(String bloodType) { this.bloodType = bloodType; } //생성자에서 초기화 하는 방법 } 위의 코드에서 볼 수 있듯이 final 을 초기화하는 방법은 필드와 생성자를 통해서만 초기화할 수 있다. 단순한 값이라면 필드에서 선언하는 것이 좋으며, 외부에서 입력받아야만 하는 값이라면, 생성자를..
2020.11.21 -
2020-11-19 다수의 Overloading을 하다 보면 반복적인 this 코드를 사용하게 되는데, 이러한 불필요한 반복을 줄이는 방법을 알아보자. (예제는 전에 오버 로딩 글에서 사용하던 걸 사용하도록 하겠다.) 오버 로딩 글 링크 : seeminglyjs.tistory.com/167 public class Overloading { String name; String sex; int age; public Overloading() { } public Overloading(String name) { this.name = name; } //이름 매개변수를 받는 생성자 public Overloading(String name, String sex) { this.name = name; this.sex = se..
[Java] 자바 this 와 Overloading 중복된 코드 처리법2020-11-19 다수의 Overloading을 하다 보면 반복적인 this 코드를 사용하게 되는데, 이러한 불필요한 반복을 줄이는 방법을 알아보자. (예제는 전에 오버 로딩 글에서 사용하던 걸 사용하도록 하겠다.) 오버 로딩 글 링크 : seeminglyjs.tistory.com/167 public class Overloading { String name; String sex; int age; public Overloading() { } public Overloading(String name) { this.name = name; } //이름 매개변수를 받는 생성자 public Overloading(String name, String sex) { this.name = name; this.sex = se..
2020.11.19 -
2020-11-05 싱글톤(Singleton)이란 전체 프로그램 내에서 하나의 객체만을 만드는 것을 이야기한다. 이는 싱글톤을 선언한 class 이외에 다른 곳에서 new를 이용한 새로운 생성자를 만드는 것을 제한하는 의미라고도 볼 수 있다. 싱글톤을 코드화 하기 위해서는 객체 앞에 private를 붙여 주어 선언된 class에서만 생성 가능하게 만들어 주면 된다. 구체적으로 코드로는 어떻게 선언되는지 알아보자. public class singleton { private static singleton st = new singleton(); private singleton() {} static singleton getSt() { return st; } } 위에는 싱글톤 객체를 생성하는 클래스이며, 아래는 ..
[Java] 자바 싱글톤(Singleton) 에 대하여 간단히 알아보자!2020-11-05 싱글톤(Singleton)이란 전체 프로그램 내에서 하나의 객체만을 만드는 것을 이야기한다. 이는 싱글톤을 선언한 class 이외에 다른 곳에서 new를 이용한 새로운 생성자를 만드는 것을 제한하는 의미라고도 볼 수 있다. 싱글톤을 코드화 하기 위해서는 객체 앞에 private를 붙여 주어 선언된 class에서만 생성 가능하게 만들어 주면 된다. 구체적으로 코드로는 어떻게 선언되는지 알아보자. public class singleton { private static singleton st = new singleton(); private singleton() {} static singleton getSt() { return st; } } 위에는 싱글톤 객체를 생성하는 클래스이며, 아래는 ..
2020.11.05 -
2020-09-22 문제 정수 X가 주어진다. 정수 X는 항상 8진수, 10진수, 16진수 중에 하나이다. 8진수인 경우에는 수의 앞에 0이 주어지고, 16진수인 경우에는 0x가 주어진다. X를 10진수로 바꿔서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 X가 주어진다. X는 10진수로 바꿨을 때, 1,000,000보다 작거나 같은 자연수이다. 16진수인 경우 알파벳은 소문자로만 이루어져 있다. 출력 첫째 줄에 입력받은 X를 10진수로 바꿔서 출력한다. 소스코드 Scanner scan = new Scanner(System.in); String X = scan.next(); String N =""; int N8 = 0; //8진수 값이 저장될 변수 int N16 = 0; //16진수 값이 저장될 변수..
백준 BaekJoon 11816번: 8진수, 10진수 16진수 [Java] 자바2020-09-22 문제 정수 X가 주어진다. 정수 X는 항상 8진수, 10진수, 16진수 중에 하나이다. 8진수인 경우에는 수의 앞에 0이 주어지고, 16진수인 경우에는 0x가 주어진다. X를 10진수로 바꿔서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 X가 주어진다. X는 10진수로 바꿨을 때, 1,000,000보다 작거나 같은 자연수이다. 16진수인 경우 알파벳은 소문자로만 이루어져 있다. 출력 첫째 줄에 입력받은 X를 10진수로 바꿔서 출력한다. 소스코드 Scanner scan = new Scanner(System.in); String X = scan.next(); String N =""; int N8 = 0; //8진수 값이 저장될 변수 int N16 = 0; //16진수 값이 저장될 변수..
2020.09.22 -
2020-09-18 소인수분해(영어: prime factorization, integer factorization)는 합성수를 소수의 곱으로 나타내는 방법을 말한다. 소인수분해를 일의적으로 결정하는 공식은 아직 발견되지 않았다. 현대 암호 처리에서 소인수분해의 어려움은 중요한 기준이 된다. 산술의 기본 정리(fundamental theorem of arithmetic)에 의해 모든 양의 정수는 소수들의 곱으로 표현하는 방법이 (곱의 순서를 바꾸는 것을 제외하면) 유일하게 존재한다. 그러나 산술의 기본정리는 그 소인수분해를 하는 방법을 알려주지는 않는다. 단지 존재성을 확인해 줄 뿐이다. 출처 : 위키피디아 소스코드 ※ 기본 알고리즘 원리는 우선 입력받은 값의 제곱근을 구해 [ EX) 10 제곱근 3.xx..
[Java] 자바 소인수 분해 / java 소인수 분해 구현하기2020-09-18 소인수분해(영어: prime factorization, integer factorization)는 합성수를 소수의 곱으로 나타내는 방법을 말한다. 소인수분해를 일의적으로 결정하는 공식은 아직 발견되지 않았다. 현대 암호 처리에서 소인수분해의 어려움은 중요한 기준이 된다. 산술의 기본 정리(fundamental theorem of arithmetic)에 의해 모든 양의 정수는 소수들의 곱으로 표현하는 방법이 (곱의 순서를 바꾸는 것을 제외하면) 유일하게 존재한다. 그러나 산술의 기본정리는 그 소인수분해를 하는 방법을 알려주지는 않는다. 단지 존재성을 확인해 줄 뿐이다. 출처 : 위키피디아 소스코드 ※ 기본 알고리즘 원리는 우선 입력받은 값의 제곱근을 구해 [ EX) 10 제곱근 3.xx..
2020.09.18 -
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-11 그레이 부호 또는 그레이 코드(gray code는 이진법 부호의 일종으로, 연속된 수가 1개의 비트만 다른 특징을 지닌다. 연산에는 쓰이진 않고 주로 데이터 전송, 입출력 장치, 아날로그-디지털 간 변환과 주변장치에 쓰인다.[1] 출처 : 위키피디아 소스코드 Scanner scan = new Scanner(System.in); int [] arr = new int [5]; //4자리의 그레이 코드를 받을 변수다 //크기가 5인 이유는 맨앞에 숫자가 //0이나 1이냐 판단하여, //0일 경우에는 그레이코드 → 이진수 변환 //1일 경우에는 이진수 → 그레이코드 변환 for(int i = 0; i < arr.length; i++) { arr[i] = scan.nextInt(); } int..
[Java] 자바 그레이 코드 구현,변환하기! / 그레이코드 이론 공부2020-09-11 그레이 부호 또는 그레이 코드(gray code는 이진법 부호의 일종으로, 연속된 수가 1개의 비트만 다른 특징을 지닌다. 연산에는 쓰이진 않고 주로 데이터 전송, 입출력 장치, 아날로그-디지털 간 변환과 주변장치에 쓰인다.[1] 출처 : 위키피디아 소스코드 Scanner scan = new Scanner(System.in); int [] arr = new int [5]; //4자리의 그레이 코드를 받을 변수다 //크기가 5인 이유는 맨앞에 숫자가 //0이나 1이냐 판단하여, //0일 경우에는 그레이코드 → 이진수 변환 //1일 경우에는 이진수 → 그레이코드 변환 for(int i = 0; i < arr.length; i++) { arr[i] = scan.nextInt(); } int..
2020.09.11 -
2020-09-08 문제 상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다. 상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다. 두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다. 이때, 상근이가 구할 수 있는 두 수의 가능한 합 중, 최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 두 정수 A와 B가 주어진다. (1
백준 BaekJoon 2864번: 5와 6의 차이 [Java] 자바2020-09-08 문제 상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다. 상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다. 두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다. 이때, 상근이가 구할 수 있는 두 수의 가능한 합 중, 최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 두 정수 A와 B가 주어진다. (1
2020.09.08 -
2020-09-07 오늘은 특정 배열 내에서의 최댓값과 최솟값을 구하는 방법을 알아보도록 하겠습니다. 숫자의 범위는 이해를 쉽게 하기 위해 1~10까지의 수가 들어간 배열을 산정하였습니다. 소스코드 a = 1부터 증가하는 숫자가 들어갈 배열 ex) a[0] 1이 들어갈 예정; int i = 0; int [] a = new int[10]; int count = 0; //1씩 증가되는 수가 저장될 변수 int max = 0, min = 10000; //최댓값과 최솟값이 들어갈 변수; do { count++; a[i] = count; if(max = a[i]) { min = a[i]; } //배열에 삽입된 값이 최댓값인지 최솟값인지 //계속 비교하며 값은 갱신함 i++; //배열의 위치를 하나씩 증가시켜준다...
[Java] 자바 최대값 최소값 구하기 / 극한값 제외 평균 구하기2020-09-07 오늘은 특정 배열 내에서의 최댓값과 최솟값을 구하는 방법을 알아보도록 하겠습니다. 숫자의 범위는 이해를 쉽게 하기 위해 1~10까지의 수가 들어간 배열을 산정하였습니다. 소스코드 a = 1부터 증가하는 숫자가 들어갈 배열 ex) a[0] 1이 들어갈 예정; int i = 0; int [] a = new int[10]; int count = 0; //1씩 증가되는 수가 저장될 변수 int max = 0, min = 10000; //최댓값과 최솟값이 들어갈 변수; do { count++; a[i] = count; if(max = a[i]) { min = a[i]; } //배열에 삽입된 값이 최댓값인지 최솟값인지 //계속 비교하며 값은 갱신함 i++; //배열의 위치를 하나씩 증가시켜준다...
2020.09.07 -
2020-09-06 문제 경상북도 특산품인 사과를 학생들에게 나눠주기 위해 여러 학교에 사과를 배정하였다. 배정된 사과 개수는 학교마다 다를 수 있고, 학생 수도 학교마다 다를 수 있다. 각 학교에서는 배정된 사과를 모든 학생들에게 똑같이 나눠주되, 남는 사과의 개수를 최소로 하려고 한다. (서로 다른 학교에 속한 학생이 받는 사과 개수는 다를 수 있다.) 예를 들어, 5개 학교의 학생 수와 배정된 사과 수가 다음과 같다고 하자. A 학교에서는 모든 학생에게 사과를 두 개씩 나눠주고 4개의 사과가 남게 된다. B 학교에서는 모든 학생에게 사과를 한 개씩 나눠주고 9개의 사과가 남게 된다. 비슷하게 C 학교에서는 3개의 사과가, D 학교에서는 10개의 사과가, E 학교에서는 0개의 사과가 남게 되어, 남는..
백준 BaekJoon 10833번: 사과 [Java] 자바2020-09-06 문제 경상북도 특산품인 사과를 학생들에게 나눠주기 위해 여러 학교에 사과를 배정하였다. 배정된 사과 개수는 학교마다 다를 수 있고, 학생 수도 학교마다 다를 수 있다. 각 학교에서는 배정된 사과를 모든 학생들에게 똑같이 나눠주되, 남는 사과의 개수를 최소로 하려고 한다. (서로 다른 학교에 속한 학생이 받는 사과 개수는 다를 수 있다.) 예를 들어, 5개 학교의 학생 수와 배정된 사과 수가 다음과 같다고 하자. A 학교에서는 모든 학생에게 사과를 두 개씩 나눠주고 4개의 사과가 남게 된다. B 학교에서는 모든 학생에게 사과를 한 개씩 나눠주고 9개의 사과가 남게 된다. 비슷하게 C 학교에서는 3개의 사과가, D 학교에서는 10개의 사과가, E 학교에서는 0개의 사과가 남게 되어, 남는..
2020.09.06 -
2020-09-05 최소공배수 정의 수론에서, 여러 개의 정수/다항식/환의 원소의 공배수(公倍數, 영어: common multiple)는 그들 모두의 배수가 되는 정수/다항식/환의 원소이다. 최소공배수(最小公倍數, 영어: least common multiple/ lowest common multiple, 약자 LCM)는 양의 공배수 가운데 가장 작은 하나이다. 유클리드 정역에서 0으로 나누기를 정의하지 않으므로, 이 정의는 오직 다루고자 하는 정수들이 0이 아닐 때 의미가 있다. 최대공약수 정의 수론에서, 정수들의 공약수(公約數, 영어: common divisor)는 동시에 그들 모두의 약수인 정수다. 적어도 하나가 0이 아닌 정수들의 최대공약수 (最大公約數, 문화어: 련속나눔셈; 영어: greatest..
[Java] 자바 최대공약수 최소공배수 구하는법!/ 빠르게 구해보자!2020-09-05 최소공배수 정의 수론에서, 여러 개의 정수/다항식/환의 원소의 공배수(公倍數, 영어: common multiple)는 그들 모두의 배수가 되는 정수/다항식/환의 원소이다. 최소공배수(最小公倍數, 영어: least common multiple/ lowest common multiple, 약자 LCM)는 양의 공배수 가운데 가장 작은 하나이다. 유클리드 정역에서 0으로 나누기를 정의하지 않으므로, 이 정의는 오직 다루고자 하는 정수들이 0이 아닐 때 의미가 있다. 최대공약수 정의 수론에서, 정수들의 공약수(公約數, 영어: common divisor)는 동시에 그들 모두의 약수인 정수다. 적어도 하나가 0이 아닌 정수들의 최대공약수 (最大公約數, 문화어: 련속나눔셈; 영어: greatest..
2020.09.05 -
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-09-04 팩토리얼 정의 수학에서, 자연수의 계승 또는 팩토리얼(階乘, 문화어: 차례곱, 영어: factorial)은 그 수보다 작거나 같은 모든 양의 정수의 곱이다. n이 하나의 자연수일 때, 1에서 n까지의 모든 자연수의 곱을 n에 상대하여 이르는 말이다. 출처: 위키피디아 위와 같은 팩토리얼을 자바의 반복문인 for 과 while을 통해서 구해보도록 해보겠습니다! for문 사용 소스코드 ※ 특정 숫자의 팩토리얼을 알고 싶다면, i 의 범위 값을 조절하면 된다. ex) 5! 값은 i 값을 5로 바꾼뒤에 temp 출력 / 5! 까지의 합은 sum 출력 int temp = 1; //각 i에 다른 팩토리얼이 저장되는 값 // ex) i = 2 → 2! int sum = 0; //각 팩토리얼이 더해..
[Java] 자바 팩토리얼을 구해보자! / 1! + 2! + 3! . . . . + 10!의 합은?2020-09-04 팩토리얼 정의 수학에서, 자연수의 계승 또는 팩토리얼(階乘, 문화어: 차례곱, 영어: factorial)은 그 수보다 작거나 같은 모든 양의 정수의 곱이다. n이 하나의 자연수일 때, 1에서 n까지의 모든 자연수의 곱을 n에 상대하여 이르는 말이다. 출처: 위키피디아 위와 같은 팩토리얼을 자바의 반복문인 for 과 while을 통해서 구해보도록 해보겠습니다! for문 사용 소스코드 ※ 특정 숫자의 팩토리얼을 알고 싶다면, i 의 범위 값을 조절하면 된다. ex) 5! 값은 i 값을 5로 바꾼뒤에 temp 출력 / 5! 까지의 합은 sum 출력 int temp = 1; //각 i에 다른 팩토리얼이 저장되는 값 // ex) i = 2 → 2! int sum = 0; //각 팩토리얼이 더해..
2020.09.04 -
2020-09-03 문제 상근이는 TGN사의 사장이다. TGN은 Teenager Game Network의 약자 같지만, 사실 Temporary Group Name의 약자이다. 이 회사는 청소년을 위한 앱을 만드는 회사이다. 일년에 걸친 개발기간 끝에 드디어 앱을 완성했고, 이제 팔기만 하면 된다. 상근이는 데이트를 인간의 두뇌로 이해할 수 없을 정도로 많이 한다. 따라서 엄청난 데이트 비용이 필요하다. 상근이는 광고를 적절히 해서 수익을 최대한 올리려고 한다. 어느 날 하늘을 바라보던 상근이는 시리우스의 기운을 받게 되었고, 광고 효과를 예측하는 능력을 갖게 되었다. 광고 효과가 주어졌을 때, 광고를 해야할지 말아야할지 결정하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 N이 주어진다...
백준 BaekJoon 5063번: TGN [Java] 자바2020-09-03 문제 상근이는 TGN사의 사장이다. TGN은 Teenager Game Network의 약자 같지만, 사실 Temporary Group Name의 약자이다. 이 회사는 청소년을 위한 앱을 만드는 회사이다. 일년에 걸친 개발기간 끝에 드디어 앱을 완성했고, 이제 팔기만 하면 된다. 상근이는 데이트를 인간의 두뇌로 이해할 수 없을 정도로 많이 한다. 따라서 엄청난 데이트 비용이 필요하다. 상근이는 광고를 적절히 해서 수익을 최대한 올리려고 한다. 어느 날 하늘을 바라보던 상근이는 시리우스의 기운을 받게 되었고, 광고 효과를 예측하는 능력을 갖게 되었다. 광고 효과가 주어졌을 때, 광고를 해야할지 말아야할지 결정하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 N이 주어진다...
2020.09.03 -
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 -
2020-08-29 수학에서, 절댓값(絕對-, 영어: absolute value 또는 modulus)은 실수가 실수선의 원점과, 복소수가 복소평면의 원점과 떨어진 거리를 나타내는 음이 아닌 실수이다. 이는 선형대수학의 노름과 추상대수학의 절댓값으로 확장시킬 수 있다. 말은 어렵지만 프로그램에서 활용시에는 마이너스 값이 나오더라도 항상 양수의 값으로 처리하기 위해서 많이 사용한다. 아래는 소스코드다. 소스코드 int a = 1 - 2; System.out.println(a); //출력값 == -1 int b = Math.abs(a); System.out.println(b); //출력값 == 1 Math 클래스 중 abs 매소드를 활용하여 쉽게 절대값을 나타낼 수 있다.
[Java] 자바 절대값을 구해보자! / 자바 절대값 함수 구하는법2020-08-29 수학에서, 절댓값(絕對-, 영어: absolute value 또는 modulus)은 실수가 실수선의 원점과, 복소수가 복소평면의 원점과 떨어진 거리를 나타내는 음이 아닌 실수이다. 이는 선형대수학의 노름과 추상대수학의 절댓값으로 확장시킬 수 있다. 말은 어렵지만 프로그램에서 활용시에는 마이너스 값이 나오더라도 항상 양수의 값으로 처리하기 위해서 많이 사용한다. 아래는 소스코드다. 소스코드 int a = 1 - 2; System.out.println(a); //출력값 == -1 int b = Math.abs(a); System.out.println(b); //출력값 == 1 Math 클래스 중 abs 매소드를 활용하여 쉽게 절대값을 나타낼 수 있다.
2020.08.29