묻고 답해요
143만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 2편
다운캐스팅
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. package generic.ex1; public class BoxMain2 { public static void main(String[] args) { ObjectBox objectBox = new ObjectBox(); objectBox.set(10); Object object = objectBox.get(); System.out.println(object); } }이렇게 해도 잘 출력되는데 다운캐스팅을 또 해줘야 하는 이유가 무엇인가요?
-
해결됨김영한의 실전 자바 - 중급 2편
타입 이레이저 에서 나온 코드(EraserBox<T>) 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 타입 이레이저 를 복습하는 도중에 뭔가 이상한점을 발견해서 질문을 드립니다.영한님 강의에서 보면이런식으로 하셨는데여기서 의문이 2가지 생겼습니다.이때까지 영한님의 코드를 살펴보면제네릭 클래스를 만들고,타입 매개변수(private T value or t1;)를 만들었습니다.근데 여기에서는 바로 'T'를 사용 하셨습니다.그리고 2번째 메서드 에서return new T(); 라는 코드가 이해가 안 갑니다. 즉 첫 번째 질문은첫번째 메서드 에서 바로 'T'를 사용하신 이유가 궁금하고두번째 질문은return new T() 코드가 어떤 코드인지 설명 해주실수 있으신가요?답변 부탁 드립니다.
-
미해결김영한의 실전 자바 - 중급 2편
메모리 손실
[질문 내용]연결 리스트에서 메모리가 하나 손실되면 그 이후의 연결된 노드들은 어떻게 찾나요?
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
1강 연습문제 중 복습 문제 5번
해당 문제는 colab에서 코드를 적을 수 없도록 되어 있습니다. 확인 부탁드려요!
-
미해결김영한의 실전 자바 - 중급 2편
제네릭 타입 변환
이 코드에서 E tempElement = (E) elementData[i];이 과정이 필요한 이유를 잘 모르겠습니다. 실제로 저장하는 타입은 E 타입인데 만약 제가 Object tempElement = elementData[i];이렇게 하면 E 타입 = Object 타입 ( 부모는 자식이 될 수 있어도 자식은 부모가 될 수 없다 )이게 안되기 때문인가요 ? 추가 질문 : Object 배열 안에 예를 들어 String , int 형이 다 들어 있는데, 우리는 타입을 String 을 지정했을떄저렇게 E tempElement = (E) elementData[i]; 을 해줘야 런타임이 아닌 컴파일 시점에서 에러를 발견하여 사전에 에러를 차단할 수 있는 것인가요 ?
-
미해결김영한의 실전 자바 - 중급 2편
제네릭 타입 관련 질문
@Override public int[] indexesOf(E element) { int[] arr = new int[size] ; int count = 0 ; for (int i = 0 ; i < size ; i++){ if( elementData[i].equals(element)){ arr[count++] = i ; } } return arr ; }여기에서 if 문을 if((E)elementData[i].equals(element) 로 하는게 (E) 를 넣지 않는 것보다 나을까요?그리고 누군가가 왜 낫냐고 물어보면 뭐라고 대답해줘야 하나요 ? 그리고 Objects.equals(elementData. element) equals 메서드와는 어떤 차이점이 있나요 ?
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
누적합 문제 3번 질문
텐트 세우기문제를 풀던 중, 가장 높은 높이를 만날때까지 왼쪽에서 오른쪽으로 진행하고, 이후에는 오른쪽에서 가장 높이를 만날때까지 역순으로 누적합 배열 2개를 만들어서 마지막에 더해서 해결하려고 했는데, 입력 예시랑 백준의 반례들 찾아서 집어넣어봤는데 모두 정상적으로 출력되는데, 제출하니 틀렸다고 나오네요. 하루종일 고민했는데 도저히 모르겠어서 질문 드립니다!#2304 미해결... TC = int(input()) x_list = [] y_list = [] graph = [0]*1001 for _ in range(TC): x, y = map(int, input().split()) graph[x] = y x_list.append(x) y_list.append(y) max_height = max(y_list) prefix = [0] check = 0 for i in range(1, max(x_list)): prefix.append(max(prefix[i-1], graph[i])) if prefix[i] == max_height: check = i break suffix = [0]*(max(x_list)) suffix[-1] = graph[max(x_list)] for i in range(max(x_list)-1, check, -1): if suffix[i] == max_height: break suffix[i-1] = (max(suffix[i], graph[i])) sum = 0 for i in range(len(prefix)): if prefix[i] != 0: sum += prefix[i] for j in range(len(suffix)): if suffix[j] != 0: sum += suffix[j] print(sum)
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
조합과 순열 개념
제가 잘 몰라서 그러는데 조합, 순열 개념이 코딩테스트에서 중요한가요? 커리큘럼에 포함된 이유가 궁금합니다!
-
미해결김영한의 실전 자바 - 중급 2편
equals 메서드
여기에서 E 타입에 대해서 equals 메서드를 적용할 수 있는 이유가 뭔가요?물론 String, int 같이 기본형이거나 String 같이 많이 쓰이는 타입은 override 가 되어 있어서 문제 없는 것은 알고 있지만 우리가 정의한 객체의 경우에는 equals 가 override 안되어 있어서 우리가 원하는 결과값이 안나올 수도 있지 않나요 ?
-
미해결Do it! 알고리즘 코딩테스트 with JAVA
왜 int, long은 안되는지 궁금합니다.
4:30 쯤에 100자리수로 받으면 왜 int나 long(숫자형)으로 받을 수 없는건지 궁금합니다.
-
미해결김영한의 실전 자바 - 중급 2편
배열리스트5-제네릭2
만약 제가 reverse 함수를 구현한다고 하면 tempValue 를 제네릭 E 로 구현해야하나요 ? 아니면 아래와 같이 구현해도 전혀 문제가 없나요 ?public void reverse() { if( elementData == null || size <=1 ){ return ; } for (int i = 0 ; i < (int)( size / 2 ) ; i++){ Object tempValue = elementData[i] ; elementData[i] = elementData[size-1-i] ; elementData[size-1-i] = tempValue ; } }ㅁ
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
[참고] 사전문제는 다운로드 받아서 https://colab.research.google.com 에서 열어보시면 편리합니다.
사전문제는 다운로드 받아서 https://colab.research.google.com 에서 열어보시면 편리합니다.
-
해결됨김영한의 실전 자바 - 중급 2편
다형성을통한 중복 해결시도 - 잘못된 타입의 인수쪽 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 강의를 듣다가 질문이 생겨서 질문을 남깁니다.마지막에서 잘못된 타입의 인수를 전달할 때 해결 방법으로 instance-of가 생각나더라고요.근데 이 방법이 있어도 안 한 이유가, IntegrBox랑 ObjectBox랑 대조 설명 하시면서, 코드의 재사용성, 코드의 안정성을 말씀하시던데,instance-of를 하게 되면(클래스를 만들든 메서드로 만들든) 타입마다 계속 비교해서 코드가 한없이 길어지기 때문에, 코드의 재사용X 이기 때문에 안 하신건가요?추가1아니면 다른 이유가 있는 것 인가요?답변 부탁 드립니다.
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
기억 ( 누적합 ) 강의 11660 문제
문제에서 '(x, y)는 x행 y열을 의미한다' 라고 적혀있는데왜 (y,x)로 바꿔서 푼 이유를 모르겠습니다.
-
해결됨코딩테스트 [ ALL IN ONE ]
노션이 뭐죠??
그냥 구글폼에 제 메일주소 eovnfjfpa@naver.com으로 교재 신청했는데 아직 안와서요교재 좀 부탁드릴게요 노션이 뭔지 아무 설명이 없는데 메일로는 강의 교재가 안와서 문의드려요
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
1912번 DP테이블 N에서 끝나는, N까지 살펴 봤을 때 질문입니다.
안녕하세요 강의 듣다가 궁금한 점이 생겨서 질문 드립니다. DP 테이블을 생성할 때, N에서 끝나는, N까지 살펴봤을 때 로 보통 접근한다고 하셨는데, 모든 DP풀이에 해봄직한 생각이라고 보면 될까요? 테이블을 세우는게 뭔가 제 멋대로 세우는 것 같아서 어렵게 느껴지는 것 같습니다.그리고 knapsack 같은 DP세우는게 쉽지 않던데, 어려운 DP문제들은 어떤 부분을 주목해서 DP테이블을 세우려고 집중하면 될까요?풀면서 느끼는 점이 DP식을 잘못 세우면 완탐처럼 세우게 되는 것 같습니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
머신러닝 모델 선택 방법
안녕하세요 강사님.강사님의 강의를 토대로 kaggle, dacon에서 제공하는 데이터를 가지고 분석을 하면서 궁금한 점이 생겼습니다.데이터를 예측할 때 가장 좋은 모델을 비교를 하지 않고 선택할 수 있는 방법이 있을까요?예를 들어 분류에서는 boosting 알고리즘에서도 XGBoost, LightGBM, CatBoost 등 여러 모델이 있는데 이 중에서 가장 좋은 모델 즉, 해당 데이터 셋에서 가장 적절한 모델을 찾을 수 있는 방법이 있을까요??데이터의 크기가 현재는 모든 모델을 사용하면서 성능을 비교할 수 있는 크기지만, 나중에는 매우 많은 데이터를 다루게 된다면 비교하기에 어려울 것 같다는 생각이 들어서 이렇게 질문을 남깁니다.
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
방법론 질문 있습니다
안녕하세요, 강의를 듣고 계신 여러분!여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다. 1. chatGPT를 이용해보기단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다! 2. 강의의 어떤 부분에 대한 질문이고, 어떤 부분이 궁금한지 명확히 알려주세요!강의의 어느 파트에서 의문을 느끼고, 어떤 부분이 궁금한지를 명확히 제시해 주시면 답변에 도움이 됩니다!자신은 어떻게 이해했는지 또한 적어주면 좋습니다! ex) 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의에서 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해했습니다. 그러면 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요? 어느 파트섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의자신은 어떻게 이해했는지DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해어떤 부분이 궁금한지 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요?일단, 강의 내용에서 약간 벗어난 질문이긴 합니다.백준 11054번 문제를 먼저 풀었는데,선택하거나 선택하지 않았을 경우를 분리해서dp1과 dp2를 튜플 쌍으로 갱신해주었는데요,근데 딱히 필요가 없는데, 하던 대로 하게 된 것 같아서요,, 그래서, 질문은`구현 없이 생각만으로 타당성을 따져보는 것이엄밀하고 구체적으로 따져지지 않다보니 생각이 뭔가 추상적이고 편하거나 해오던 방식에서 벗어나지 못하는 것 같습니다.구체성 있게 따져보는 방법과 정리에 대한 조언 부탁 드려도 될까요??`입니다. 항상 답변 감사합니다.아래는 참고 코드입니다.#boj11054 import sys input = lambda : sys.stdin.readline().rstrip() n = int(input()) arr = list(map(int, input().split())) increase = [[0, 0] for _ in range(n)] decrease = [[0, 0] for _ in range(n)] total = [0 for _ in range(n)] for i in range(n): for j in range(i): if arr[j] < arr[i]: increase[i][0] = max(increase[i][0], increase[j][0] + 1) increase[i][1] = max(increase[j][0], increase[j][1]) for i in range(n, -1, -1): for j in range(n - 1, i, -1): if arr[i] > arr[j]: decrease[i][0] = max(decrease[i][0], decrease[j][0] + 1) decrease[i][1] = max(decrease[j][0], decrease[j][1]) for i in range(n): total[i] = max(increase[i][0], increase[i][1]) + max(decrease[i][0], decrease[i][1]) print(max(total) + 1)
-
미해결김영한의 실전 자바 - 중급 2편
SortMain2 클래스의 DescComparator 메서드 return 부분이 수정되어야 할 것 같습니다.
영한님 강의 너무 잘 보고 있습니다.다름이 아니라 Comparator를 공부하며 혼자 이것저것 해보던 중에 SortMain2 클래스의 DescComparator 메서드가 3,2,1 배열을 정렬하면 오름차순 으로 정렬되는 것을 확인하여 문의 드립니다.static class DescComparator implements Comparator<Integer> { @Override public int compare(Integer o1, Integer o2) { System.out.println("o1=" + o1 + " o2=" + o2); return (o1 < o2) ? -1 : ((o1 == o2) ? 0 : 1) * -1; } }강의에서는 오름차순 정렬된 1,2,3 배열을 내림차순 정렬해서 정렬이 문제가 없었지만만약 3,2,1 배열을 내림차순 정렬 하게 된다면, return (o1 < o2) ? -1 : ((o1 == o2) ? 0 : 1) * -1;첫번째 삼항 연산자 부분에서 앞에 o1, o2를 비교하고 -1 이 반환되며 오름차순으로 정렬 되는 것 같습니다.리턴 부분이 전체 비교 값에 -1이 곱해질 수 있도록return ((o1 < o2) ? -1 : ((o1 == o2) ? 0 : 1)) * -1; 로 수정 되어야 할 것 같아 문의 드립니다.
-
해결됨코딩테스트 [ ALL IN ONE ]
노션이 사라졌습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 혹시 노션 기간이 있는걸까요??? 갑자기 사라졌습니다. 다시 초대해주시면 감사드리겠습니다 ㅠㅠ