2020-12-21 우선 Consumer의 함수적 인터페이스를 알아보자. 이름에서도 느껴지듯이 매개 값을 받아 소비만 하고 리턴 값을 가지지 않는다. 이러한 매개 값을 받는 메서드로는 accept ()를 가지고 있으며, 사용법은 아래와 같다. package LambdaConsumer; import java.util.function.BiConsumer; import java.util.function.Consumer; public class main { public static void main(String[] args) { Consumer consumer = t ->{ System.out.println(t +"이다."); }; //매개값만 받고 리턴값은 없는 인터페이스 consumer.accept("kin..
2020-12-04 (제네릭의 기초적인 개념과 기존 예제가 궁금하면, 아래 링크로 가서 확인하고 오자.) seeminglyjs.tistory.com/184 제네릭에는 다양한 타입들이 들어갈 수 있지만, 특정 경우에는 제네릭에 들어갈 타입을 제한시켜야 하는 경우가 있다. 예를 들자면 어떤 클래스 필드에 age(나이)라는 변수가 있다고 가정해 보자. 이러한 경우에는 해당 제네릭 타입을 숫자로 받아야 하기 때문에 Integer / short / double...과 같은 숫자형 타입으로 한정 지을 수 있다. 이를 제한된 타입 파라미터라고 한다. 그러면 이제 구체적인 코드를 살펴보도록 하자. package Generic1; public class man2{ public static int compareAge(T ..
2020-11-27 문제 등차가 정수인 등차수열 (어떤 수에 차례대로 일정한 수를 더해서 이루어지는 수열) 은 2개의 숫자로 나타낼 수 있다. P는 수열의 첫 번째 수이고, Q는 그 다음수가 되기 위해 바로 전의 수에 더해야 하는 수이다. 예를 들어 P=1, Q=2 이면 그 등차수열은 1, 3, 5, 7, ..... 이 된다. 등비가 정수인 등비수열 (어떤 수에서 시작해 차례로 같은 수를 곱하여 만든 수열) 은 등차수열과 비슷하게 2개의 숫자로 나타낼 수 있다. P는 수열의 첫 번째 수이고, Q는 그 다음수가 되기 위해 바로 전의 수에 곱해야 하는 수이다. 예를 들어 P=3, Q=2이면 그 등비수열은 3, 6, 12, ...이 된다. 테디는 세상에서 수학을 제일 좋아해서 매일같이 이 수열이 등차수열인지 ..
2020-10-16 문제 삼각형의 세 변의 길이가 주어질 때 변의 길이에 따라 다음과 같이 정의한다. Equilateral : 세 변의 길이가 모두 같은 경우 Isosceles : 두 변의 길이만 같은 경우 Scalene : 세 변의 길이가 모두 다른 경우 단 주어진 세 변의 길이가 삼각형의 조건을 만족하지 못하는 경우에는 "Invalid" 를 출력한다. 예를 들어 6, 3, 2가 이 경우에 해당한다. 가장 긴 변의 길이보다 나머지 두 변의 길이의 합이 길지 않으면 삼각형의 조건을 만족하지 못한다. 세 변의 길이가 주어질 때 위 정의에 따른 결과를 출력하시오. 입력 각 줄에는 1,000을 넘지 않는 양의 정수 3개가 입력된다. 마지막 줄은 0 0 0이며 이 줄은 계산하지 않는다. 출력 각 입력에 맞는 결..
2020-10-13 아마 자바(java)를 하면서 가장 많이 접하게 되는 속성 두 가지를 뽑자면, String과 Int가 아닐까 생각해본다. 물론 알고리즘 문제를 접할 때도 해당 속성을 자유자재로 바꿀 줄 알아야 하는데, 오늘은 이와 같은 방법으로 알아보도록 하자. 우선 문자열 형태에서 정수형으로 바꾸는 방법을 알아보자. 방법은 간단한데, 아래와 같다. 소스코드 String str = "123"; int number = Integer.parseInt(str); System.out.println(number); 처음에는 바꾸고 싶은 문자열을 설정하고 Integer.parseInt로 형변환을 처리 후 정수형 변수에 넣어주면 간단히 String → Int 형을 바꾸어 진 것을 확인할 수 있다. 다음은 정수형에..
2020-10-09 문제 상근이는 덧셈과 나눗셈을 엄청나게 못한다. 이런 상근이를 위해 정인이는 상근이에게 다음과 같은 문제를 냈다. 정인이는 양의 정수 A,B,C,D로 이루어진 2*2 표를 그렸다. 위와 같은 표가 있을 때, 표의 값은 A/C + B/D 이다. 상근이는 표를 몇 번 돌리면 표의 값이 최대가 되는지 궁금해졌다. 표는 90도 시계방향으로 돌릴 수 있다. 문제 상단의 표를 1번 회전 시키면 다음과 같다. 2번 회전 시키면 다음과 같이 된다. 표에 쓰여 있는 A,B,C,D가 주어졌을 때, 표를 몇 번 회전시켜야 표의 값이 최대가 되는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 공백으로 구분되어 주어진다. 둘째 줄에 C와 D가 공백으로 구분되어 주어진다. 모든 수는 100보다 작..