반응형

java 284

[프로그래머스] 자연수 뒤집어 배열로 만들기 - 자바(Java)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12932 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를 들어 n이 12345이면 [5, 4, 3, 2, 1]을 리턴합니다. 제한 조건 n은 10,000,000,000 이하인 자연수입니다. 입출력 예 n return 12345 [5,4,3,2,1] 코드 class Solution { public int[] solution(long n) { String st..

[프로그래머스] 자릿수 더하기 - 자바(Java)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12931 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를 들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한 조건 N의 범위 : 100,000,000 이하의 자연수 입출력 예 n return 123 6 987 24 코드 방법 1) public class Solution { public int ..

[JPA] 엔티티(Entity) 기본 생성자 사용 이유 - Reflection API

Intro JPA에서 엔티티는 반드시 public 또는 protected인 기본 생성자를 가져야 한다. 이 것이 가능한 이유는 자바에서 제공하는 리플렉션 API(reflection API)를 활용하여 동적으로 객체를 생성하기 때문이다. 만약, 기본 생성자가 없거나, private인 경우 리플랙션 API는 객체를 생성할 수 없게 된다. Java Reflection API Java Reflection API는 구체적인 클래스 타입을 알지 못하더라도 해당 클래스 이름을 통해 메서드, 타입, 변수 등에 접근할 수 있도록 해주는 API이다. Reflection을 활용하여 런타임 시점에 동적으로 클래스 객체를 생성할 수 있다. 일반적으로 객체에 데이터를 넣기 위해서는 new 생성자 또는 setter 등이 필요하며,..

[JPA] QueryDSL과 JPQL 비교

본 내용은 온라인 강의 사이트 인프런의 김영한 님의 강의 내용이 포함되어 있습니다. '실전! Querydsl' 실전! Querydsl - 인프런 | 강의 Querydsl의 기초부터 실무 활용까지, 한번에 해결해보세요!, - 강의 소개 | 인프런... www.inflearn.com 엔티티 준비 기초적인 실습을 위한 Member 엔티티와 Team 엔티티를 준비한다. Member와 Team은 양방향 연관관계 연관관계의 주인은 Member로 Team의 외래키를 가지고 있다. Member @Entity @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) @ToString(of = {"id", "username", "age"}) public cla..

[프로그래머스] 약수의 합 - 자바(Java)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 조건 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 코드 class Solution { public int solution(int n) { int answer = 0; for (int i = 1; i

[프로그래머스] 짝수와 홀수 - 자바(Java)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12937 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, Soluction을 완성해 주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" 코드 class Solution { public String solution(int num) { return num % 2 == 0..

[JPA] QueryDSL build.gradle 환경 설정

스프링 부트 프로젝트 생성 Spring initialzr에서 프로젝트를 생성한다. Spring Web, JPA, H2 Database 등 필요한 의존 라이브러리 설정이 필요하다. Spring Boot 2.6 ~ 2.7과 3.0은 build.gradle 설정 방법이 다르다. QueryDSL 설정 스프링 부트 2.6 ~ 2.7에서 build.gradle 설정 // (1) queryDSL 추가 buildscript { ext { queryDslVersion = "5.0.0" } } plugins { id 'java' id 'org.springframework.boot' version '2.7.7' id 'io.spring.dependency-management' version '1.0.15.RELEASE' /..

[JPA] QueryDSL 소개 및 장점

QueryDSL이란? QueryDSL은 하이버네이트 쿼리 언어(HQL: Hibernate Query Language)의 쿼리를 타입에 안전하게 생성 및 관리해주는 프레임워크이다. QueryDSL은 정적 타입을 이용하여 SQL과 같은 쿼리를 생성할 수 있게 해 준다. 자바 백엔드 기술은 Spring Boot와 Spring Data JPA를 함께 사용한다. 하지만, 복잡한 쿼리, 동적 쿼리를 구현하는 데 있어 한계가 있다. 이러한 문제점을 해결할 수 있는 것이 QueryDSL이다. QueryDSL이 등장하기 이전에는 Mybatis, JPQL, Criteria 등 문자열 형태로 쿼리문을 작성하여 컴파일 시에 오류를 발견하는 것이 불가능했다. 하지만, QueryDSL은 자바 코드로 SQL 문을 작성할 수 있어 ..

[프로그래머스] 평균 구하기 - 자바(Java)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12944 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr return [1,2,3,4] 2.5 [5,5] 5 코드 class Solution { public double solution(int[] ..

[Java] 명령형 프로그래밍과 선언형 프로그래밍의 차이

명령형 프로그래밍 명령형 프로그래밍은 실행할 동작을 구체적으로 명시하는 것으로 컴퓨터가 수행할 명령들을 순서대로 코드로 작성하는 것을 의미한다. 명령형 프로그래밍은 특정 문제를 어떻게(how) 해결할 것인가를 중점으로 프로그래밍한다. 이를 절차적 프로그래밍이라고도 한다. 명령형 프로그래밍 예제 public class Example { public static void main(String[] args){ List numbers = List.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); int sum = 0; for(int number : numbers){ if(number % 2 == 0){ sum += number; } } System.out.println(sum); } } 1부터 10..

반응형