주니어 기초 코딩공부 260

13장 제네릭

안녕하세요 jju_developer 입니다. 오늘은 제네릭 타입에 대해 간단하게 소개하는 시간을 갖겠습니다. ✔제네릭(Generic)이란 무엇일까요?  타입을 파라미터화해서 컴파일시 구체적인 타입이 결정되도록 하는 것 • 자바5부터 새로 추가된 기능이다. • 컬렉션, 람다식(함수적 인터페이스), 스트림, NIO에서 널리 사용된다. • 제네릭을 모르면 도큐먼트를 해석할 수 없다. class ArrayList 매개변수 처럼 E 라고 쓰고 파라미터화 한것입니다. 설계할때 타입이 뭔지는 모르고 코딩할때 타입을 정확히 쓰는 용도로 쓰입니다. default BiConsumer andThen(BiConsumer

삼각형의 완성 조건_programmers_lev00

선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다. 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다. 삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요. 우선, 두 변의 길이의 합이 나머지 한변의 길이와 비교를 해야하기 때문에 sort로 배열의 정리를 한 후 쉽게 마지막 배열과 남은 두 배열의 길이의 합을 구해 더할 수 있었다. 배열에 sort를 쓰기 위하여 Arrays를 import 받아 사용하였다. import java.util.Arrays; class Solution { public int solution(int[] sid..

편지_programmers_lev00

머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요. 해당 코드는 간단학[ 매개변수로 받는 message의 길이를 희망하는 가로 크기로 곱하여 해당 값을 answer에 대입 후 return하였습니다. class Solution { public int solution(String message) { int answer = 0; answer += message.length()*2; return answer; } }

특정 문자 제거하기_programmers_lev00

문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요. 우선 제거할 알고리즘을 생각해봤을때 간단히 replace() 메소드를 생각해보았다. 문자를 제거하기 위해서는 "" 를 replace 한다고 작성하면 간단히 받는 매개변수를 제거할 수 있다. class Solution { public String solution(String my_string, String letter) { String answer = ""; answer = my_string.replace(letter,""); return answer; } } class Solution { public String solution(..

문자 반복 출력하기_programmers_lev00

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요. 우선 풀이를 할때 매개 변수로 주어진 문자열을 하나씩 나누어 담을 수 있는 String 배열을 생성하였습니다. 1. String [] str_arr = {}; 문자열 배열을 초기화 한다음 2. 주어지는 문자열을 하나씩 분리 할 수 있는 split 메서드를 사용 후 그 메서드를 배열에 담았습니다. 3. 이중 for문을 사용하였습니다. 첫 for 문은 배열을 순차적으로 다돌며 그 값을 s에 담되, 하나의 배열을 n번만큼 돌면 그만큼의 문자가 출력이 될 수 있도록 구현하였습니다. for (String s : str_ar){ for(..

12장 JAVA Thread의 개념 및 자바의 스레드 구현과 실행

안녕하세요 JAVA 기초 공부 중인 jju_developer입니다~ 오늘은 자바의 스레드의 기본 개념 및 제어 상태에 대해 알아보도록 하겠습니다~ :) JAVA에서의 스레드란? JVM가 운영체제의 역할을 히며, 자바에는 프로세스가 존재하지 않고 스레드만 존재하며, 자바 스레드는 JVM에 의해 스케줄 되는 실행 단위 코드 블록입니다. 스레드를 구현하는 방법은 Thread클래스를 상속받는 방법과 Runnable인터페이스를 구현하는 방법, 어느 쪽을 선택해도 별 차이는 없지만 Thread클래스를 상속받으면 다른 클래스를 상속받을 수 없기 때문에, Runnable인터페이스를 구현하는 방법이 일반적입니다. ✔스레드의 일반적인 상태는 스레드 객체 생성 New ▶▶ start() ▶▶ 실행 대기 Runnable ⏸ ..

점의 위치 구하기_programmers_lev00

사분면은 한 평면을 x축과 y축을 기준으로 나눈 네 부분입니다. 사분면은 아래와 같이 1부터 4까지 번호를매깁니다. x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다. x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다. x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다. x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다. x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어집니다. 좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성해주세요. 1. dot [0]번째 dot [1] 번째에 각각 어떤 수 를 대입해야 하는지 생각. 2. 각 자리에 음수일때와 양수일때 answer에 어떤 값이 ..

01 java 기초_사칙연산 메서드 구현 조건문 예제

문제 : 사용자로부터 점수를 입력받아 사칙 연산 함수 구현하기. 문제해결✔ 처음 생각할 것 01. 변수 생각하기 int num1; int num2; int sum; 02. 사칙연산 함수 구현하기 더하기 add() { } 빼기 substract() { } 곱하기 multiply() { } 나누기 division() { } 03. 사용자로부터 점수 입력 받기 Scanner sc = new Scanner(System.in); int choice = sc.nextInt(); // 사용자로 부터 선택권을 주기 (사칙연산 뭘 할건지 선택) int num1 = sc.nextInt(); // 사용자로 부터 첫번째 숫자 입력 받기 int num2 = sc.nextInt(); // 사용자로 부터 두번째 숫자 입력 받기 우..

01 java 기초_Switch Case 조건문 예제

Switch Case 문 기초 예제 문제 : 사용자로부터 점수를 입력받아 점수가 90 이상이면 'A', 90미만 80 이상이면 'B', 80미만 70 이상이면 'C', 70미만 60 이상이면 'D', 그 미만은 'F' 를 출력하는 Code를 작성하라. 문제해결✔ 처음 생각할 것 01. 변수 만들기 grade 라는 변수를 만들고 초기화. String grade =""; 02. switch case 에 대입하기 switch (사용자의 점수 결과값){ case 결과값조건 : 점수 출력; 또는 점수 출력을 아래로 쓸수 도 있음 switch (사용자의 점수 결과값){ case 결과값조건 : 점수 출력; switch(score) { case 100 : case 90 : grade = "A"; break; case ..

01 java 기초_if 조건문 예제

문제 : 각 과목의 정답 개수를 int형 타입의 변수 6개를 선언 후 입력받기. 문제 조건 : 한 과목이라도 20점 미만인 경우, "불합격입니다!"를 출력하고 전과목 평균이 60점 이상이면 "합격입니다!" 를 출력하는 프로그램을 만들어보세요. -----------------------if 조건문----------------------- if (조건식) { 실행문장 ( if 조건이 True일 때 실행됨); } else { 실행문장 ( if 조건이 false일 때 실행됨); } -------------------------------------------------------- 문제해결✔ 처음 생각할 것 01. 변수 만들기 내가 만든 스코어는 총 6개로 국, 영, 수, 중국어, 일본어, 미술이다. int k..