분류 전체보기 333

15장 컬렉션 프레임워크

안녕하세요 JAVA 기초 공부 중인 jju_developer입니다~ 오늘은 자바의 컬렉션 프레임워크의 기본 개념에 대해 알아보도록 하겠습니다~ :) 자료 = 변수, 데이터 공간 대표적인 자료의 공간은 배열입니다. 하지만, 배열에는 문제점이 있습니다. • 저장할 수 있는 객체 수가 배열을 생성할 때 결정 -> 불특정 다수의 객체를 저장하기에는 문제가 됩니다. • 객체 삭제했을 때 해당 인덱스가 비게 됨 -> 낱알 빠진 옥수수 같은 배열, 객체를 저장하려면 어디가 비어있는지 확인하는 코드도 필요하게 됩니다. 컬렉션 프레임워크란?  컬렉션이란 사전적 의미로 요소(객체)를 수집해 저장하는 것을 말한다.  컬렉션 프레임워크는 몇가지 인터페이스를 통해서 다양한 컬렉션 클래스를 이용할 수 있도록 하고 있다. 대표..

JA14장 람다식

안녕하세요 JAVA 기초 공부 중인 jju_developer입니다~ 오늘은 자바의 람다식의 기본 개념에 대해 알아보도록 하겠습니다~ :) JAVA에서의 람다식이란 무엇일까요? 람다식은 익명 객체 또는 함수를 생성하기 위한 식으로 객체 지향 언어 보다는 함수 지향 언어에 가깝습니다. 자바에서 람다식을 수용한 이유는 자바 코드가 매우 간결해지고, 컬렉션의 요소를 필터링하거나 매핑해서 원하는 결과를 쉽게 집계할 수 있기 때문입니다. 람다식은 익명 구현 객체를 간략히 표현한 구현 객체입니다. Runnable runnable = new Runnable() { // 익명 구현 객체 public void run() { ... } }; Runnable runnable = () -> { ... }; // 람다식, (매개..

짝수는 싫어요_programmers_lev00

정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요. 우선, 주어지는 매개 변수 n 을 담을 배열을 선언후 배열의 길이는 주어지는 매개변수 값의 홀수 자리수 만큼을 선언하였습니다. 그후 for문을 통해서 홀수일때 배열의 자리에 차곡 차곡 쌓일 수 있도록 코딩했습니다. class Solution { public int[] solution(int n) { int[] answer = new int[(n+1)/2]; for(int i =1; i value % 2 == 1).toArray(); } } import java.util.List; import java.util.ArrayList; class Solution { public i..

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에 어떤 값이 ..