전체 글 211

[프로그래머스 level_2] 최댓값과 최솟값 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/12939 코딩테스트 연습 - 최댓값과 최솟값 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를 programmers.co.kr [문제 설명] 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.제..

[프로그래머스 level_2] 가장 큰 수 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr [문제 설명] 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정..

[자바/java] 자바 문자열 배열을 문자열로 변환하기/바꾸기 (반대 과정 포함)

자바에서 문자열 배열을 문자열로, 문자열을 문자열 배열로 바꾸는 방법을 알아보자 문자열 배열에서 문자열로 기본 public static void main(String[] args) { String[] strArr = {"A", "B", "C"}; String str = String.join("", strArr); System.out.println(str); } // ABC - join 메서드는 첫 번째 인수("")를 기준으로 문자열 배열을 문자열로 만드는 String의 메서드다. 응용 public static void main(String[] args) { String[] strArr = {"A", "B", "C"}; str = String.join("/", strArr); System.out.print..

[프로그래머스 level_2] 기능개발 for JAVA

programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr [문제 설명] 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 ..

[자바/java] 람다식(Lambda) 정리하기 (4. 메서드 참조)

람다식의 메서드 참조 람다식이 단 하나의 메서드만 호출하는 경우, 메서드 참조(method reference)라는 방법으로 람다식을 간략히 할 수 있다. Function f = s -> Integer.parseInt(s); 위 기능을 풀어서 쓰면 아래와 같다. public Integer parseInt(String s) { return Integer.parseInt(s); } parseInt 메서드는 그냥 자바의 문법이고, 그냥 Integer.parseInt 메서드를 반환할 뿐이다. 이 기능은 람다식에서는 아래와 같이 간단히 작성할 수 있다. Function f = Integer::parseInt; 람다식의 일부가 생략되었지만, 컴파일러는 생략된 부분을 우변의 parseInt 메서드의 선언부로부터, 또는..

[JPA/Java Persistence API] 영속성 컨텍스트

[우아한형제들 김영환님의 인프런 강의 자바 ORM 표준 JPA 프로그래밍 - 기본편을 수강하고 정리한 내용입니다] 엔티티 컨텍스트 "엔티티를 영구 저장하는 환경"이란 뜻을 가진 논리적인 공간. 애플리케이션과 데이터베이스 사이에서 객체를 관리, 조작한다. 엔티티 매니저를 통해 영속성 컨텍스트에 접근할 수 있다. EntityManager.persist(entity) 엔티티 매니저를 생성하면 한 개의 영속성 컨텍스트가 생긴다. 엔티티의 생명주기 비영속 (new/transient) 영속성 컨텍스트와 상관없이 생성된 객체 자체 영속 (Managed) 영속성 컨텍스트에 관리되는 상태 준영속 (detached) 영속성 컨텍스트에 저장되었다가 분리된 상태 삭제 (removed) 영속성 컨텍스트에서 삭제되어 DB에도 삭..

Backend/JPA 2021.05.10

[프로그래머스 level_2 / 월간 코드 챌린지 시즌2] 괄호 회전하기 for JAVA

programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr [문제 설명] 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. (), [], {} 는 모두 올바른 괄호 문자열입니다. 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A} 도 올바른 괄호 문자열입니다. 예를 들어, [] 가 올바른 괄호 문자열이므로, ([]) 도 올바른 괄호 문자열입니다. 만약 A, B가 올바른 괄호 문자열이라면, AB 도 올바른 괄호 문자열입니다. 예를 들어, {} 와 ([]) 가 올바른 괄호 문자열이므로, {}([]) 도 올바른 괄호 문자열입니다. 대괄호, 중괄호, 그리고 소괄호로 이루어진 문자열 s가 매개..

[JPA/Java Persistence API] Entity 조회, 수정, 삽입, 삭제 - 기본편

[우아한형제들 김영환님의 인프런 강의 자바 ORM 표준 JPA 프로그래밍 - 기본편을 수강하고 정리한 내용입니다] 개발 환경 Java 8 Maven Project H2 Database(H2 Database Engine) JPA 설정 persistence.xml /META-INF/persistence.xml 위치 persistence-unit name으로 이름 지정 hibernate.dialect JPA는 특정 데이터베이스에 종속되지 않는다. SQL 표준을 지키지 않는 특정 데이터베이스의 고유한 기능, 문법들을 JPA는 자동 지원한다. JPA 구동 방식 EntityManagerFactory는 하나의 EntityManager를 생성한다. EntityManager은 Entity를 저장, 수정, 삭제, 조회하는..

Backend/JPA 2021.05.09

[자바/java] 람다식(Lambda) 정리하기 (3. 람다식의 다양한 형태)

기본형을 사용하는 함수형 인터페이스 람다식은 매개변수와 반환 값이 제네릭 타입뿐만 아니라 기본형을 사용할 수 있는 함수형 인터페이스들을 제공한다. 함수형 인터페이스 형식 메서드 설 명 DoubleToIntFunction DoubleToLongFunction IntToDoubleFunction IntToLongFunction LongToDoubleFunction LongToIntFunction AToBFunction double -> applyAsInt(double b) -> int (A) -> applyAsB(A) -> B 입력 : A타입 출력 : B타입 ToIntFunction ToDoubleFunction ToLongFunction ToBFuntion T -> applyAsInt(T t) -> int..

[프로그래머스 level_2] 프린터 for JAVA

programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr [문제 설명] 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 ..