묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
안녕하세요.
안녕하세요.maven과 gradle 차이는 하는 기능은 같은데maven은 pom.xml에서 xml로 설정해주고 gradle 은 application.yml에서 그루비로 설정해주는 차이만 있을가요???
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
DFS, BFS 풀이 차이점
import java.util.*; import java.io.*; /* 다음과 같이 여러 단위의 동전들이 주어져 있을때 거스름돈을 가장 적은 수의 동전으로 교환해주려면 어떻게 주면 되는가? 각 단위의 동전은 무한정 쓸 수 있다. 입력 : 첫 번째 줄에는 동전의 종류개수 N(1<=N<=12)이 주어진다. 두 번째 줄에는 N개의 동전의 종류가 주어지고, 그 다음줄에 거슬러 줄 금액 M(1<=M<=500)이 주어진다.각 동전의 종류는 100원을 넘지 않는다. 출력 : 첫 번째 줄에 거슬러 줄 동전의 최소개수를 출력한다. ex. 3 1 2 5 15 -> 3 ( 출력 설명 : 5 5 5 동전 3개로 거슬러 줄 수 있다. ) */ public class P05_동전교환 { static int N, total, answer; static Integer[] coins; public static void main(String[] args) throws Exception { // 초기 세팅 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); coins = new Integer[N]; StringTokenizer st = new StringTokenizer(br.readLine()); for (int i=0; i<N; i++) { coins[i] = Integer.parseInt(st.nextToken()); } total = Integer.parseInt(br.readLine()); // 로직 Arrays.sort(coins, Collections.reverseOrder()); // coins 내림차순 정렬 (int[] 배열이 아닌 Integer[] 배열이여야 함 !!) // 방법1. BFS // BFS(); // 방법2. DFS answer = total; DFS(0, 0); // 출력 System.out.println(answer); } public static void BFS() { Queue<Integer> q = new LinkedList<>(); for (int i=0; i<N; i++) { q.offer(coins[i]); } int count = 1; while (true) { int size = q.size(); for (int i=0; i<size; i++) { int tmp = q.poll(); for (int j=0; j<N; j++) { int next = tmp + coins[j]; if (next == total) { answer = count + 1; return; } q.offer(next); } } count++; } } public static void DFS(int count, int sum) { if (sum > total || count >= answer) { return; } if (sum == total) { answer = Math.min(answer, count); } else { for (int i=0; i<N; i++) { DFS(count+1, sum+coins[i]); } } } } 처음에 혼자 풀 때 BFS 문제인 것 같아 BFS로 풀었고, 강의보고 나서 다시 DFS로 풀어봤는데DFS와 BFS 풀이 방법 중 어느 것이 더 좋은 방법인가요 ?성능면에서 DFS와 BFS 중 어떤 것이 더 좋은지 궁금합니다 .. !
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
persist 호출 이후 롤백 상황이 발생하는 경우?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의에서 멤버 객체를 persist를 이용해서 저장하는데 그 시점에 PK를 알 수 없으니 insert 구문이 실행되는 것까지는 이해가 되는데, 지금 트랜잭션이 진행중인데 모종의 이유로 인해서 커밋 전 예외가 발생한다면, 롤백이 이루어지면서 저장 작업을 무효화하고 ID도 회수하는 과정이 이루어지나요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
flush() 전에 Insert 쿼리 출력되는 현상
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]강의에서는 flush()를 호출하기 전에는 insert 문이 나가지 않는다고 하셨는데, 저 같은 경우에는 위와 같이 작성해도 insert 문이 콘솔에 출력됩니다. 이유가 궁금합니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
String, int 가 터미널에는 똑같은 모양으로 출력되는데, int 타입은 색상을 변경해서 출력하는게 가능한가요?
String, int 가 터미널에는 똑같은 모양으로 출력되는데, int 타입은 색상을 변경해서 출력하는게 가능한가요?터미널만 봐서는 무슨 타입인지 알 수 없습니다.
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
강의가 중복된 것 같습니다
객체지향 핵심파트의인터페이스와 인터페이스는 왜 쓰는가? 강의의 10분 15초부터 끝까지의 내용이인터페이스를 활용한 다형성 구현 강의와 내용이 중복된 것 같습니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
return; 유무
public static void DFS(int index, int sum) { if (sum > C) { return; } if (index == N) { answer = Math.max(answer, sum); return; } else { DFS(index+1, sum+arr[index]); DFS(index+1, sum); } }if(index == N) {} << 여기에서 강사님은 return;을 따로 쓰지 않으셨던데 return; 을 쓰거나 쓰지 않는 기준이 따로 있는건가요 ?? 어차피 저쪽으로 가게된다면 맨 마지막 줄이기 때문에 따로 return; 을 작성하지 않으신건가요 ?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
ArrayList API 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]ArrayList<> 객체의 인수로 store.values()를 넣고 return 하게되면 어떤 알고리즘으로 store에 저장된 데이터들이 반환되는지 궁금합니다!해당 ArrayList의 API를 보면이런 식으로 구성돼있는 것을 확인할 수 있었는데 이게 무슨 뜻인지 이해가 잘 가지 않아서 여쭤봅니다!
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
실무에서도 address를 값타입으로 사용하나요?
실무에서는 주소와 같은 경우는 값타입으로 사용하는지 혹은 엔티티로 따로 만들어서 사용하는지 궁금합니다. 고객의 주소 정보만 따로 관리하고 싶다 할때는 엔티티로 만들고 아닐때는 값타입으로 사용하는 등 실무에서는 유동적으로 선택해서 사용하나요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
missing return statement 관련 질문 드립니다.
강사님이 강의에서 짜주신 코드처럼while (!q.isEmpty())로 하면 강의에서 보여주신 것처럼 return 이 따로 없을경우 에러가 나는데 (그래서 강의에서는 따로 return 0; 해주셨어요)while (true)로 하면 따로 return 이 없어도 에러가 안납니당 ,,혹시 while (true) 일때는 return 이 강의에서처럼 따로 없어도 에러가 안나는 이유가 있나요 ..? BFS 함수만 첨부하면 다음과 같습니닷// 방법3. BFS 상태트리탐색 (최단거리 BFS) - (2) : 로직 자체는 방법2와 동일, 배열 사용 및 코드 리팩토링 ! public static int BFS2(int S, int E) { Queue<Integer> q = new LinkedList<>(); int[] check = new int[10001]; int[] go = {-1, 1, 5}; // = 한 번의 점프로 앞으로 1, 뒤로 1, 앞으로 5를 이동할 수 있다. // 0번째 세팅 q.offer(S); check[S] = 1; int level = 0; // while (!q.isEmpty()) { while (true) { int size = q.size(); for (int i=0; i<size; i++) { int tmp = q.poll(); // if (tmp == E) { // return level; // } for (int j=0; j<go.length; j++) { int nx = tmp + go[j]; if (nx == E) { return level + 1; } if (check[nx]==0 && 1<=nx && nx<=10000) { q.offer(nx); check[nx] = 1; } } } level++; } }
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
boolean에만 static이 안 붙는 이유가 있나요 ?
강사님이 작성하신 코드에서DFS 함수 위에 나머지는 다 앞에 static 붙여서 정적변수로 해놓으셨는데boolean flag = false; 만 static이 안 붙여져있더라구여boolean 형에만 static을 안 붙이신 이유가 있으신가여?DFS 함수 내에서만 사용되기 때문에 안 붙이신 건가요 ?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
챕터8 - P01_합이같은부분집합_DFS_아마존인터뷰 관련 질문입니다.
강의 듣기 전, 혼자 풀어볼 때 코드를 이렇게 짰는데 이것도 맞는 풀이일까요 ...?import java.util.*; import java.io.*; /* N개의 원소로 구성된 자연수 집합이 주어지면, 이 집합을 두 개의 부분집합으로 나누었을 때 두 부분집합의 원소의 합이 서로 같은 경우가 존재하면 “YES"를 출력하고, 그렇지 않으면 ”NO"를 출력하는 프로그램을 작성하세요. 둘로 나뉘는 두 부분집합은 서로소 집합이며, 두 부분집합을 합하면 입력으로 주어진 원래의 집합이 되어 합니다. 예를 들어 {1, 3, 5, 6, 7, 10}이 입력되면 {1, 3, 5, 7} = {6, 10} 으로 두 부분집합의 합이 16으로 같은 경우가 존재하는 것을 알 수 있다. ex. 6 1 3 5 6 7 10 -> YES */ public class P01_합이같은부분집합_DFS_아마존인터뷰 { static int total; static int[] arr; static String answer; static int index; static int sum; static int N; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); arr = new int[N]; StringTokenizer st = new StringTokenizer(br.readLine()); total = 0; for (int i=0; i<N; i++) { arr[i] = Integer.parseInt(st.nextToken()); total += arr[i]; } index = 0; sum = 0; answer = "NO"; DFS(index); System.out.println(answer); } public static void DFS(int index) { if (sum*2 > total || index==N) { return; } else { sum += arr[index]; if (sum*2 == total) { answer = "YES"; return; } DFS(index+1); sum -= arr[index]; DFS(index+1); } } } 채점 사이트에서 통과하기는 하는데 이 풀이가 맞아서 통과한건지 아님 운좋게(?) 테스트 케이스 5개가 다 맞아서 통과한건지 뭔가 풀이에 대한 확신이 없어서요 .. !
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
트랜잭션 롤백 시 Insert 쿼리
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.위와 같이 테스트를 구현하고 테스트 실행 시 Insert 쿼리가 나갑니다. 그런데 예외가 발생했기 때문에 롤백이 되어서 또는 테스트의 트랜잭션 디폴트 값이 Rollback이라서 Insert 쿼리가 나가지 않아야 하는 것 아닌가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Task :test FAILED이 뜹니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]gradlew build를 하면 이런 에러가 발생합니다. 인텔리제이 설정에서 build Tools > Run tests using 항목을 IntelliJ IDEA로 변경을 해보았으나 에러는 동일하게 발생했지만 해결책을 모르겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
index.html의 href 경로가 C:/로 연결됩니다.
index.html의 href 경로가 localhost:8080/hello로 연결되지 않고 C:/hello로 연결되어서원하는대로 작동하지 않습니다. 제가 뭘 놓친 걸까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품 주문 에서 Submit 버튼 누를시 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 상품 주문에 정보를 입력하고 submit 버튼을 누르면 Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported] 오류가 발생합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
build.gadle 파일 오픈시 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]프로젝트 생성 시에 아래와 같은 오류가 발생합니다
-
미해결스프링 시큐리티
ExceptionTranslationFilter가 하는 역할에 대해서 질문합니다.
이번 강의 초반에구분 사항인증 예외가 발생하면 해당 필터, 지금 같은 경우는 UsernamePasswordAuthenticationFilter가 받아서 처리를 하고인가 예외는 ExceptionTranslationFilter가 처리 한다.라고 설명해주셨는데요.앞서 개념 강의 예외 처리 및 요청 캐시 필터 : ExceptionTranslationFilter, RequestCacheAwareFilter9) 인가 개념 및 필터 이해 : Authorization, FilterSecurityInterceptor에서는 인증 예외와 인가 예외 모두 ExceptionTranslationFilter가 받는다고 설명해주셔서 혼란이 옵니다. 어떤 것이 맞는 설명인가요? Access Denied 는 인가 예외인데 강의 제목이 인증 거부 처리 - Access Denied 입니다. 인가 거부 처리 - Access Denied로 바꾸는 게 맞지 않나요? 그렇게 중요한 문제는 아닌 듯 합니다만, 제가 제대로 알고 있나 확인하는 차원에서 질문드립니다. 이렇게 2개 질문 드리고요. 좋은 강의 감사드립니다. 덕분에 도움이 많이 되고 있습니다. 답변 부탁드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JUnit 관련 질문드립니다!
https://drive.google.com/file/d/1unGqgPSn0E7OZF838uysk3upX7nTwUjR/view?usp=share_link회원 리포지토리 테스트 케이스를작성하던 중 버전 문제인지 사진과 같은 에러가 발생해서 질문 남깁니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
batchsize 로 연결한 엔티티를 동적으로 사용하기
안녕하세요 김영한 선생님.선생님 강의로 현장에서 jpa를 현장에서 더욱 자유롭게 사용하고 잇습니다. 현제 실무에서 궁금한점이 생겨 질문드립니다.(정보: 저희는 eclipselink를 사용하고 있고 query dsl은 사용하고 있지 않습니다.ㅠㅠ ) 엔티티에서 n+1 이 발생하는 부분을 batchsize를 사용하여 별도의 쿼르를 실행하여 해결하고 있습니다. 이럴 경우 batchsize를 지정한 엔티티에 대헤서 조건문을 지정할수 있을까요? ernate.annotations.BatchSize (size = 5) @OneToMany (mappedBy ="member", fetch = FetchType. EAGER) private List<Order> orders = new ArrayList<Order> () ;예를 들어 맴버안에 주문 리스트가 있고 이것을 BatchSize를 이용하여 별도의 쿼리로 값을 가져오고 있는데.이 주문 상품의 타입이 책인 것을 가지고 있는 맴버로 하고 싶은 경우에는 어떤식으로 접근하는게 좋을까요?오더를 먼저 선택해서 맴버를 찾아가야 하는 걸까요?