묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
질문이있습니다.
다른언어와는 다르게 자바스크립트는 배열을 객체로 구현해두어서 불연속적으로 메모리에 할당되어있어도 마치 랜덤엑세스가 되는것처럼 인덱스를 키값으로 하여 값을 바로 꺼내오는건가요?
-
해결됨김영한의 실전 자바 - 중급 2편
직접 구현하는 연결 리스트2- 데이터 추가 삭제1, 코드 리뷰 좀요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 영상 강의를 보면서 영상에 나온 그림을 보면서 코드를 만들어봤습니다.그래서 코드 리뷰 좀 받고 싶게 되더군요.좀 부족하지만 올립니다.힌트는 동영상에 나오는 그림에 나오는 노드 연결 했을때 나오는 코드(초록색 으로 칠해져 잇는 그림 들) 를 보고 영상을 돌려보면서 만들었습니다.메인이 된것은 NodeMain3에서 스테틱 메서드 입니다.반환이 안되면 값이 똑같이 나와서 반환을 해주었습니다.(이유를 모르겠음)메인 코드 결과추가1인덱스 리무브에서, 맨마직꺼 리므브는 안되겟네요. 올리고나서 발견..추가2설명 하라고 하신다면 솔직히 못 하겠습니다. sout로 node 값 찍어 보고, 어찌저찌 하다가 된거 라서요. 답변 부탁 드립니다.
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
7강 RGB 색칠하기 질문 있습니다.
// 아래 풀이법에서 제시해주신 풀이법과 비슷하게 풀이한 것 같으나 백준에서는 자꾸 45% 쯤에서 오답처리가 됩니다 ㅜㅜ... 제 알고리즘에 어떤 문제가 있는 걸까요... #include <iostream> #include <vector> using namespace std; int N; vector<int> R; vector<int> G; vector<int> B; int dp[1001][3]; void Input() { cin >> N; for(int i = 0; i < N; i++) { int r, g, b; cin >> r >> g >> b; R.push_back(r); G.push_back(g); B.push_back(b); } } void DP() { dp[0][0] = R[0]; dp[0][1] = G[0]; dp[0][2] = B[0]; for (int idx = 1; idx < N; idx++) { for (int rgb = 0; rgb < 3; rgb++) { if (rgb == 0) { dp[idx][rgb] = min(dp[idx - 1][1], dp[idx - 1][2]) + R[idx]; } else if (rgb == 1) { dp[idx][rgb] = min(dp[idx - 1][0], dp[idx - 1][2]) + G[idx]; } else if (rgb == 2) { dp[idx][rgb] = min(dp[idx - 1][0], dp[idx - 1][1]) + B[idx]; } } } int minVal = INT16_MAX; for (int i = 0; i < 3; i++) { if (dp[N - 1][i] < minVal) { minVal = dp[N - 1][i]; } } cout << minVal << endl; } void Solve() { DP(); } int main() { Input(); Solve(); }
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
11726 런타임 질문
안녕하세요 강사님, 백준 11726번 관련 질문 드립니다. 노션에 나온 정답지는# input N = int(input()) # solve dp = [0] * (N + 2) dp[1] = 1 dp[2] = 2 for n in range(3, N + 1): dp[n] = (dp[n-1] + dp[n-2]) % 10007 print(dp[N]) 으로 되어있습니다.그런데 강의에서는 dp = [0] * (N + 2)부분이 dp = [0] * (N + 1)로 되어있습니다. 백준에 dp = [0] * (N + 1)로 제출하면 런타임 에러가 발생하는데,그 이유를 알 수 있을까요?dp[N]까지 접근하는건데, 0번째 인덱스를 고려한 N+1이아닌, N+2는 왜 필요한지 모르겠습니다.(강의나 노션에 추가 설명이 보이지 않아서 여쭤봅니다) 감사합니다.
-
미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
2번째 복습 스터디📖 를 진행하고 스터디원분들과 나눈 질문들 입니다.(자료구조와 알고리즘)
해시테이블의 시간복잡도는 해시 함수가 무엇이냐에 영향을 받을까요?강의 내용에서는 해시 테이블은 키만 알면 조회, 삽입, 수정, 삭제까지 O(1)성능을 가진다고 했습니다. 해시 테이블을 만들 때 해시함수가 중요한 역할을 한다고 하는데 그렇다면 해시테이블의 시간복잡도는 해시 함수 종류에 영향을 받아 결정되는 것인지 궁금합니다.
-
미해결카카오 코테 6주 합격! 실전 파이썬 코딩테스트
추천문제 2667번 질문이 있습니다.
import sys sys.setrecursionlimit(10000) input = sys.stdin.readline N = int(input().rstrip()) graph = [list(map(int, input().rstrip())) for _ in range(N)] dy = [-1, 1, 0, 0] dx = [0, 0, -1, 1] visited = [ [False] * N for _ in range(N) ] distances = [] def dfs(y, x): stack = [(y, x)] distance = 1 while stack: cy, cx = stack.pop() for i in range(4): ny = cy + dy[i] nx = cx + dx[i] if 0 <= ny < N and 0 <= nx < N: if graph[ny][nx] == 1 and not visited[ny][nx]: visited[ny][nx] = True stack.append((ny, nx)) distance += dfs(ny, nx) return distance for i in range(N): for j in range(N): if graph[i][j] == 1 and not visited[i][j]: distances.append(dfs(i, j) - 1) print(len(distances)) for d in sorted(distances): print(d)이렇게 제가 풀어봤는데요, 예시 입출력은 잘 나오는데 백준에 제출하면 틀렸다고 나오네요.어느 부분에서 반례가 있는 것일까요?
-
미해결Do it! 알고리즘 코딩테스트 with JAVA
1강 시간복잡도 중간에 중첩for문 직전에 상수는 상관없어요 하신 부분이 이해가 안됩니다
중첩 for문은 오래걸리는거 알겠는데 앞전에 상수? for문이 별도로 3개 있던 부분에서 상수는 상관없다고 한 부분이 무슨뜻인지요?
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
정수론 약수 빠르게 구하기 질문
문제 2. 약수 빠르게 구하기 ( #1978, #11653, #14232 )15 # 숫자 n 2 # 숫자n의 약수의 개수 3 5 # 숫자n의 약수들해당 파트에서답이 위와 같다고 하셨는데, 15의 약수는 1, 3, 5, 15로 4개 아닌가용??
-
해결됨김영한의 실전 자바 - 중급 2편
노드와 연결1 - 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 궁금증이 생겨 질문을 남깁니다.노드와 연결1 노드를 배우면서 스트링 빌더의 append메서드가 생각이 났습니다.그래서 중급1편에 배운 append메서드에 대해서 찾아보고 작동 방법에 대해서 찾아보고 자기 자신을 참조해서 스트링 빌더가 돌아가는것을 확인을 할수가 있었습니다.이런 것 을 보고 노드가 '스트링 빌더 에서 파생된 작품?(응용) 아닌가' 라는 생각이 듭니다. 그래서 여기서 질문이첫 번째노드가, 스트링 빌더나, 메서드 체인닝 기법에서 파생된 작품인가요? 두 번째스트링 빌더의 apeend의 this와, node의 new의 차이점이라고 할까요? 이런 것이 어떻게 다른지 비교해서 가르켜 주시면 안될까요?뭔가 대조 되는 게 있는 것 같아서, 혹 이 두가지 가 대조가 가능하다면 대조 설명을 해주시면 감사하겠습니다. 추가1다음 강의 에서 toString할때 스트링 빌더 및 append메서드가 나와서.. 좀 당황스럽기는 한데. 이거 때문에. 생각 난 것은 아닙니다. 중급1편에서 스트링 빌더를 공부할 때sb.append(내용).append(내용).append(내용);first.next.next = new Node("C"); 이거랑 비슷해서 생각이 난거 입니다. 그래서 중급1편의 코딩 내용들을 뒤져본거고, pdf도 뒤져봤습니다.증거 사진 이요.. 답변 부탁 드립니다.
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
브루토 포스 백준 1342 질문
s = list(input())n = len(s)choose = []check = [False] * len(s)ans = []def check_ad(s): for i in range(len(s)-1): if s[i] == s[i+1]: return False return Truedef make(level): if level == n and check_ad(choose): result = ''.join(choose) if result not in ans: ans.append(result) for i in range(n): if check[i]: continue choose.append(s[i]) check[i] = True make(level + 1) choose.pop() check[i] = False make(0)print(len(ans)) 안녕하세요 강사님! 위 코드는 시간 초과가 나는데 순열 강의 알고리즘을 그대로 사용한 것입니다! 강사님의 순열 코드는 시간 초과가 안나는데 왜 이거는 시간초과가 날까요? 내장된 permutation이 효율적으로 구현된 것일까요?
-
미해결카카오 코테 6주 합격! 실전 파이썬 코딩테스트
그리디 챕터 들어가며 파트 내용이 이상하네요
비선형 자료구조에 대한 내용이 나오는 것 같은데, 의도하신 것인가요...?
-
해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
3:54 질문 clear() 함수
clear() 함수가 현재 Hashset클래스내에 있는 함수를 다시 호출하는 걸까요?아니면 hashTable에 있는 clear()함수를 호출하는 걸까요?이전 HashTable에 수업자료에 Clear() 구현 된것이 없어서 여쭈어 봅니다. 3:54
-
해결됨김영한의 실전 자바 - 중급 2편
직접 구현 하는 배열리스트2 - grow() 에서 질문이요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 강의를 들으면서 궁금증이 생겨서 질문을 남깁니다.grow 라는 메서드를 통해서 동적 배열의 사용법을 잘보았습니다.전에 강의에서(어떤 강의인지는 기억 안남.) 영한님이 10억 이라는 숫자를 말씀 하신 걸로 기억을 합니다.이 10억 이라는 숫자 때문에 질문이 생깁니다.어떤 배열에 데이터를 넣다 보니 , 최대 데이터 용량이 18억건의 데이터를 넣을수 있게되었습니다. 그런데 어찌저찌 하다 보니 그 데이터 배열이 꽉 차서 50%를 배열의 길이 늘린다고 가정 했을 때, 대략 (18+9 = 27) 27억 이라는 배열의 길이가 나옵니다.근데 여기에서 int형 범위 가 생각납니다. 검색해보니 약 22억 '+,-' 이더 라고요.이런 경우에는 어떻게 처리를 하나요?, 아니면 이런 경우는 아에 없고, 데이터의 크기가 너무 크니, 어떠한 숫자의 상한선이 되면, 다른 객체 배열을 만드나요?(2번째 경우는 글 쓰면서 생각이 나네요)답변 부탁 드립니다.
-
해결됨김영한의 실전 자바 - 중급 2편
직접 구현하는 배열리스트1 - 시작 set메서드에서 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 영한님이 만드신 배열리스트에서 set에서 궁금증이 생겨서 질문을 남깁니다.set메서드에서예전값 을 유지시키기 위하여 get메서드를 사용하여서 값을 반환 하는것을 보았습니다.근데 공부하면서 떠오르는 방법이사진 처럼 해보았고, 결과 값은 똑같이 나오더라고요.이렇게 하신 이유가 있으실까요?답변 부탁 드립니다.
-
미해결김영한의 실전 자바 - 중급 2편
왜 이렇게 출력이 되는지 모르겠습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.dogHospital.set(dog); Dog bigger = dogHospital.bigger(new Dog("멍멍2", 200)); System.out.println("bigger ->" + bigger);여기서 출력이 왜 Animal{name = '', size =''} 로 되는 건가요?bigger()에서 return을 했을때 toString()으로 한게 아닌데 저렇게 출력 됐는지를 모르겠습니다
-
미해결카카오 코테 6주 합격! 실전 파이썬 코딩테스트
안녕하세요, 알고리즘 유형에 대해서 질문이 있습니다!
수업을 다 듣고 알고리즘을 유형별로 점진적 과부하를 주면서 풀면 좋다고 하셨는데요.혹시 좀 우선적으로 많이 풀어보면 좋다 할 만 한 유형이 있을까요? DFS, BFS 는 워낙 빈출이라 우선적으로 풀어야 할 거 같은데 다른 것들도 그런 것이 있는지 궁금합니다!
-
해결됨김영한의 실전 자바 - 중급 2편
배열의 특징2 - 데이터 추가 "이해에 되하여서"
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 질문이 생겨서 질문을 남깁니다.배열의 특징2 - 데이터 추가에서 첫 번째, index 번째, 마지막 번째, 에 추가 하는 것의 방법은 들으니까 이해가 됩니다.여기서 질문이 생깁니다. 듣기는 들었고, 따라 치기도 하고, 이해는 되고 그러는데. 뭔가 석연치 않는 부분이 있습니다.( 뭔가 애매하다고 해야 할끼요?)그것 때문에 어떻게 해야 할지 모르 겟네요. 이럴 때는 어떻게 해야 하나요?석연치 않은 부분이 풀릴 때 까지 계속 반복해서 듣고, 코드를 지웠다 치고 그러는게 좋을까요?아니면 다른 방법이 있을까요?답변 부탁 드립니다.
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
'9-1 들어가며' 강의 소리가 없습니다.
'9-1 들어가며' 강의 소리가 없습니다. 확인 부탁드립니다!
-
해결됨김영한의 실전 자바 - 중급 2편
배열의 특징2 - 데이터 추가 에서 질문이요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 궁금증이 생겨서 질문을 남깁니다.배열로 데이터를 첫 번째 위치에 추가, n 번째 위치에 추가, 마지막 위치에 추가 하는것 을 잘 보았습니다.근데 강의를 들으면서 객체 배열(ex: Integer)이면 어떻게 해야하지 라느 생각을 하게 되었습니다.30개 제한이 있는 객체 배열이 있고값이 20개(0~19) 까지만 담아져 있고, 나머지 값(19~29번째 )은 'null' 이라고 한다면, 마지막의 값(21번째에 넣겟다는 뜻입니다.)은 어떻게 넣지? 라는 생각을 하게 되었습니다.이런 경우 어떻게 해야 하나요?혹 나중 강의에 이런 내용 같은 게 나오나요?(그러면 강의를 통해서 배우면 되니까 안 알켜주셔도 됩니다.)답변 부탁 드립니다.
-
해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
[수업질문] HashTable 구현 질문 javascript->c++
HashTable클래스내 get함수에C++로 학습하고 있는데..currentNode는 HashData*의 정보를 가져와서 currentNode를 구현한 것인가요?아니면 int 로 그냥 들어간건가요?만약 int 이면 DoublyLinkedList에 존재하는 data를int currentNode = arr[this->hashFunction(key)].head->data;이렇게 넘겨줘야하는데.만약 int형이 아니면...while문에 들어간 currentNode.data.value는 어디서 나온건지 모르겠네요. .DoublyLinkedList를 혹시 수정을 하신건지..흠..let이 그냥 자동으로 얘 이런거니까 자료형 알아서 만들어 느낌같은데.. 너무.. 헷갈리네요..