문제설명정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다. 제한사항1 ≤ l ≤ r ≤ 1,000,000 입출력예l rresult5555[5, 50, 55, 500, 505, 550, 555]1020 [-1] 나의문제풀이import java.util.*;class Solution { public int[] solution(int l, int r) { ArrayList resultList = new ArrayList(); for(int i ..
jjuya
문제설명 정수 n과 k가 주어졌을 때, 1 이상 n이하의 정수 중에서 k의 배수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 제한사항1 ≤ n ≤ 1,000,0001 ≤ k ≤ min(1,000, n) 입출력 예nk result 103[3,6,9]155[5,10,15] 나의 문제 풀이class Solution { public int[] solution(int n, int k) { int[] answer = new int[n/k]; for(int i=1; i
운영체제는 실행 중인 프로그램을 프로세스 process로 관리한다.하나의 프로세스가 두 가지 이상의 작업을 처리할 수 있는 이유는 멀티 스레드 가 있기 때문이다여기서 스레드란? 프로그램을 실행하는 가장 작은 단위, 코드의 실행 흐름을 말한다.일반적으로 자바 애플리케이션을 만들어 실행시키면 1개의 main 스레드에 의해 프로그램이 실행된다1개의 스레드만으로는 동시에 여러 작업을 할 수 없다멀티 스레드는 하나의 스레드가 예외를 발생시키면 프로세스가 종료되기 때문에 다른 스레드에게 영향을 미친다멀티 스레드를 사용할 경우에는 예외 처리에 만전을 기해야 한다Thread-Safe란?멀티 스레드 프로그래밍에서 다수의 스레드가 공유 자원에 접근해도 프로그램이 문제없이 동작하는 것을 의미한다.
Java8부터는 Stream API와 람다식, 함수형 인터페이스 등을 지원하면서 Java를 이용해 함수형으로 프로그래밍할 수 있는 API 들을 제공해 주고 있다스트림이란컬렉션 배열의 요소를 하나씩 참조하여 람다 표현식으로 처리할 수 있는 반복자(내부 반복자)(이전에는 for 문이 나 Interator를 사용했다고 한다 - 외부 반복자)외부 반복 자일 경우 컬렉션의 요소를 외부로 가져오는 코드와 처리하는 코드를 모두 개발자 코드가 가지고 있어야 한다반면 내부 반복 자일 경우 개발자가 코드에서 제공한 데이터 처리 코드(람다식)를 가지고 컬렉션 내부에서 요소를 반복 처리한다) Stream 특징람다 표현식스트림은 람다식으로 요소 처리 코드를 제공스트림이 제공하는 대부분의 요소 처리 메서드는 함수형 인터페..
Stream 연산자들은 매개변수로 함수형 인터페이스를 받도록 되어있다그리고 람다식은 반환값으로 함수형 인터페이스를 반환하고 있다그렇기 때문에 우리는 Strem API를 정확히 이해하기 위해서는 람다식과 함수형 인터페이스에 대해 알아야 한다! 람다식이란?함수를 하나의 식(expression)으로 표현한 것함수를 람다식으로 표현하면 메서드의 이름이 필요 없기 때문에, 람다식은 익명(Anonymous Function) 함수의 한 종류 하고 볼 수 있다.익명 구현 객체이름이 없는 인터페이스 구현 객체// 기존의 방식반환타입 메소드명 (매개변수, ...){ 실행문}// 예시public String hello(){ return "Hello World!"}람다식으로 작성 시 메서드명이 불필요하며, 다음과 ..
배열과 컬렉션즈 프레임워크 배열 선언 시 배열이 가지고 있는 값을 지정해야 함 - 몇 개의 데이터가 있는지 알고 있을 때만 사용 가능함String[] arryObj = new String[2];arryObj[0] = "one";arryObj[1] = "two";arryObj[2] = "tree" // 오류 발생// 배열 나열 방식for(int i=0; i ArrayList의 사용법생성할 때 몇 개의 데이터를 사용할 것인가 지정하지 않아도 됨import java.util.ArrayList;...ArrayList al = new ArrayList(); // 제네릭 타입으로 String 으로 받아주면 String으로 저장됨al.add("one");al.add("two");al.add("tree");//ad..
어떠한 객체가 인터페이스를 사용한다면 인터페이스의 시그니처 메서드를 반드시 구현해야 한다interface I{ public void z(); // 중괄호 작성하면안됨}class A implements I{ public void z(){}}// 클래스 A 는 인터페이스 I를 구현한다 인터페이스(Interface)란?자바에서 인터페이스는 클래스들이 필수로 구현해야 하는 추상 자료형입니다.간단히 말해, 객체의 사용방법을 가이드라인 하는 것인터페이스는 추상 메서드와 상수로만 이루어져 있음 인터페이스 규칙하나의 클래스가 여러 개의 인터페이스를 구현할 수 있다.interface I1{ public void x(); }interface I2{ public void z(); }class A i..
싱글톤 패턴이란?객체의 인스턴스가 오직 1개만 생성되는 패턴생성자를 private 접근 제한해서 외부에서 new 연산자로 생성자를 호출할 수 없도록 막는 것대신, 싱글톤 패턴이 제공하는 정적 메서드를 통해 간접적으로 접근이 가능하다.public class Singleton { private static singleton instance = new Singleton(); private Singleton(){} public static Singleton getInstance() { return instance; }} 싱글톤 패턴을 사용하는 이유한 번의 객체 생성으로 재사용이 가능하기 때문에 메모리 낭비를 방지할 수 있다싱글톤으로 생성된 객체는 전역성을 띠기 때문에 다른 객..
자바의 문자열은 String 객체로 생성된다 String은 객체자바에서 String은 참조형 변수로 분류된다.즉, 스택 영역이 아닌 힙에서 문자열 데이터가 생성되고 다뤄진다는 말이다String name = "홍길동"//첫글자가 대문자! String 주소 할당 방식 리터럴을 이용한 방식new 연산자를 이용한 방식String st1 = "Hello" //문자열 리터럴을 이용한 방식String st2 = "wold"String st3 = new String("Hello")String st4 = new String("wold") JVM(자바 가상머신) 메모리 내부적인 측면에서 큰 차이가 있다. Java.lang 패키지 String 함수equals(), 문자열 비교하기(feat. ==) String name1 ..
예외란?예외는 Checked Exception 와 Unchecked Exception 크게 두 가지로 나뉘게 된다그리고 예외와는 별개로 오류(error)가 있다. 오류란?컴퓨터 하드웨어의 고장으로 인해 응용프로그램 실행 오류가 발생하는 것을 자바에서는 에러라고 한다시스템 레벨에서 발생하는 비정상적인 행위이기 때문에 이름 미리 예측해서 막을 수도 신경 쓸 필요도 없다그렇다면 예외란 무엇일까?개발자가 로직을 잘못 짜거나 혹은 사용자가 잘못된 값을 넘겨 정상적은 프로그램 흐름에서 벗어나는 행위를 말한다그래서 미리 예측해서 예외를 잡을 수 있다. Checked Exception vs Unchecked ExceptionRuntimeException 를 상속받는 예외는 Unchecked Exception이며,반..