묻고 답해요
143만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨카카오 코테 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 문의하기를 이용해주세요. 혹시 노션 기간이 있는걸까요??? 갑자기 사라졌습니다. 다시 초대해주시면 감사드리겠습니다 ㅠㅠ
-
미해결C++로 만들면서 배우는 게임 개발과 알고리즘 with Windows API
소리 크기 조정 문의
안녕하세요. 앞으로 강의가 많이 기대가 됩니다.다름이 아니라 강의 소리가 매우 작은데, 조만간 개선 계획이 있으시다면 꼭 반영 해 주셨으면 합니다.자막을 키지 않고는 수강이 어려울 정도입니다. 앞으로도 좋은 강의 잘 부탁드립니다.감사합니다.명절 잘 보내세요 ㅎㅎ
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
2110번 문제 ispossible 함수 내부에서 조건문이 궁금합니다
안녕하세요 파라매트릭 서치 2110 풀다가 오답처리된 코드에 궁금한 점 생겨 질문드립니다. 정답처리된 코드import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class P2110 { static int N, C; static long result; static int[] home; static long parametricSearch() { long left=0; long right=home[N-1]-home[0]; long mid = (left+right)/2; while(left<=right) { if(isPossible(mid)) { left = mid+1; result = mid; } else { right = mid-1; } mid = (left+right)/2; } return result; } static boolean isPossible(long mid) { //그리디한판단 : 맨 첫번째를 두는게 이득 + 거리 mid만큼 떨어진 바로 다음 집에 두는게 이득 int cnt=1; int lastIdx=0; for (int i = 1; i < N ; i++) { if(home[i]-home[lastIdx]>=mid) { lastIdx=i; cnt++; } } return C<=cnt; } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); N = Integer.parseInt(st.nextToken()); C = Integer.parseInt(st.nextToken()); home = new int[N]; for (int i = 0; i < N; i++) home[i] = Integer.parseInt(br.readLine()); Arrays.sort(home); System.out.println(parametricSearch()); } } 75%에서 오답처리된 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class P2110 { static int N, C; static long result; static int[] home; static long parametricSearch() { long left=0; long right=home[N-1]-home[0]; long mid = (left+right)/2; while(left<=right) { if(isPossible(mid)) { left = mid+1; result = mid; } else { right = mid-1; } mid = (left+right)/2; } return result; } static boolean isPossible(long mid) { //그리디한판단 : 맨 첫번째를 두는게 이득 + 거리 mid만큼 떨어진 바로 다음 집에 두는게 이득 int cnt=1; int lastIdx=0; for (int i = 1; i < N ; i++) { if(home[i]-home[lastIdx]>=mid) { lastIdx=i; cnt++; } if(cnt==C) return true; } return false; } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); N = Integer.parseInt(st.nextToken()); C = Integer.parseInt(st.nextToken()); home = new int[N]; for (int i = 0; i < N; i++) home[i] = Integer.parseInt(br.readLine()); Arrays.sort(home); System.out.println(parametricSearch()); } } 다른 부분은 전부 동일하고최소거리가 mid일 때 공유기 C개를 두는 것이 가능한지 판별하는 isPossible 내부에서 return만 다릅니다.for (int i = 1; i < N ; i++) { if(home[i]-home[lastIdx]>=mid) { lastIdx=i; cnt++; } if(cnt==C) return true; } return false;설치할때마다 cnt를 증가시키고, cnt==C가 되는 시점에 도달하면 어차피 현재의 mid로 공유기 C개를 두는게 가능하단 의미니까 true를 리턴해서 끝내고, cnt==C에 도달하지 못한다면 C보다 적은 개수만 설치할 수 있으니 false를 리턴한다고 작성했습니다.반면에 강의안으로 제공해주신 코드에서는 반복문 안에서 판단해서 리턴하는 것이 아니라, 반복문 전부 돈 결과인 cnt와 C를 비교해서 리턴하는 것으로 이해했습니다. 정답풀이가 맞는 방식이라는 점은 이해가 가는데 오답풀이가 어떤 반례가 있는지는 잘 모르겠습니다
-
해결됨코딩테스트 [ ALL IN ONE ]
반복문 강의에서
반복문 강의에서 다중반복문을 단축키로 한번에 만드시던뎅..어떤 단축키를 사용해야 하나요? c에서는 '*' 사용해서 했던 것 같은데.. 가물가물...
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
백준 2110문제
def is_possible(k): # return True if k이상이 가능하면 global N, C, arr bef_idx = 0 cnt = 1 for idx in range(1, N): if arr[idx] - arr[bef_idx] >= k: bef_idx = idx cnt += 1 return (cnt >= C) 파라매트릭문제인 2110문제에서k가 1이라면cnt는 5가되는거고(예제기준으로) cnt >= C라는기준이사용해야하는 공유기 갯수(cnt) 그리고 주어진공유기 갯수(C)로 해석하면cnt가 C보다 크거나 같으면 주어진공유기보다 많이사용한거니까 false가 나와야하지않나요??? 그러면k=1일때는 공유기가3개주어졌는데 5개를써야하는데 k가 2일때부터 설명을 해주셔서 k=1일때의 설명이 없는이유가 궁금합니다
-
해결됨코딩테스트 [ ALL IN ONE ]
답을 보면서 공부하는 게 좋을까요?
가끔 어려운 거는 답을 봐도 왜 이게 답인지 모르겠는 경우가 간혹 있는데요 여튼 코테 문제를 풀 때 너무 답이 안 나오면 답을 보는 게 좋을까요 아니면 붙잡는 게 좋을까요? 사람마다 다 이야기가 달라서 혼동이 됩니다.
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
고급 BFS, DFS 는 어떻게 공부해야 할까요?
안녕하세요! 하반기 채용 때문에 코딩테스트 찾아보다가 제가 너무 원했던 강의라서 결제 후에 개념 위주로 빠르게 보는 중입니다.요약하자면 코딩테스트에서 DFS나 BFS 문제들이 나올 시에 기본적인 내용 + 문제해결력(테크닉) 으로 나오는 것 같은데테크닉 적인 부분은 어떻게 공부를 해야될까요? 가령https://school.programmers.co.kr/learn/courses/30/lessons/1832 풀이를 찾아보면 3차원(checked)으로 풀면 풀리긴 하는데, 제 직관으로는 각 그래프 경로를 분리해낸다는 컨셉이 당연하게 느껴지지가 않더라구요. 이런 까다로운 문제를 상대하려면 어떤 부분이 잘 준비되어 있어야 할까요? 강의 중에 비슷한 문제가 있다면 그부분 해설강의 꼼꼼히 봐보려고 합니다
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
강의에 있는 c++ 자료는 공개 예정이 없나요?
c++로 코딩 테스트를 준비해야 되는데, 파이썬이라도 괜찮다고 생각해 결제하긴 했지만, 동영상에 c++ 자료가 보여서 혹시 질문 드립니다! 현재 노션에는 싹 빠져있는 것 같아서요 따로 공개는 되지 않나요?
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
공간 복잡도 1mb = 100만개 질문 드립니다!
제가 알기로는 int 자료형이 4바이트로 알고 있는데 보통 1바이트라고 하셔서 제가 오개념을 알고 있는 것 같은데 아무리 생각해도 맞지 않는 것 같아서 질문 드립니다! int 자료형인데 왜 1바이트인지 궁금합니다!
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
브루트 포스 BOJ 1182번에 관한 질문이 있습니다!
풀이 1번 (기본)에서 대부분의 코드를 이해했습니다.그런데# 인덱스가 lev인 원소 선택 Xsearch(lev + 1)에서 잘 이해가 되지 않습니다.혹시 lev이 0일 경우인가요?
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
중반부부터 후반부까지의 거의 모든 영상이 다음과 같이 흰 영상으로만 보입니다.
누적합 알고리즘부터, 상당 수 강의가 다음과 같이 보입니다.
-
미해결김영한의 실전 자바 - 중급 2편
제네릭클래스는 타입매개변수를 통해 타입을 결정하는데 이 타입을 메인에서 전달받는다면 의존성 주입과 IoC로 볼수 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제네릭클래스는 타입매개변수를 통해 타입을 결정하는데 이 타입을 메인에서 전달받는다면 의존성 주입과 IoC로 볼수 있나요?제가 생각하는 IoC는 한 오브젝트에서 무언가를 결정해야하는데 이것이 다른 오브젝트에 의해 결정되는 것입니다.이때 제 기준으로는 제네릭클래스는 내부적으로 타입을 결정해야하지만 이 타입이 메인과 같은 함수에 의해 타입을 전달받아 전달받은 타입으로 타입을 결정하므로 IoC에 부합한다고 생각합니다.또한 외부에서 타입을 주입받으므로 의존성 주입에도 부합하다고 생각합니다.혹시 제 생각이 틀렸나요?