묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결코딩테스트 [ ALL IN ONE ]
linkedList - BrowserHistory 코드 질문
안녕하세요 linkedList에서 BrowserHistory 코드를 구현할 때저는 처음 linkedList 개념에서 생각했던 대로 linkedList + idx로 접근하는 방향으로 생각했습니다.# idx로 생각한 예시 # O(n) def insert(self, idx): current = self.head NewNode = Node() # insert하려는 앞 노드까지 for i in range(idx - 1): current = current.next NewNode.next = current.next current.next = NewNode그런데, BrowserHistory에선 linkedList + class 속성?(current)으로 풀이를 하신 것 같은데 맞을까요?문제 풀이할 때, visit을 할때마다 현재 idx를 global 변수로 저장해둬야 하나?라는 고민을 했어서 혹시 잘못 생각한 부분이 있는지 알려주시면 감사하겠습니다..!
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
오타가 있습니다.
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?4-4강의 내용 중 오타가 있습니다.루트 노드와 맨 끝에 있는 원소를 교체하면 3 6 72 5 4 8이 되어야합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
코딩테스트 관련 질문입니다.
이번주 일요일에 삼성 계열사 코테를 치루고 왔는데요.삼성은 visual studio에서 개발을 해볼 수 있던데 #include<bits/stdc++.h> 를 입력하면 오류가 생기더라구요... 이럴땐 어떻게 해야되나요..?그래서 따로 visual studio에서 개발은 못하고 바로 삼성 코테 사이트에 입력을 하였었는데 해결 방법이 있을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-B 맞왜틀
http://boj.kr/261bd5fb77ea43a6ad0b166b642b8d51우선 문제 해설 보기 전에 스스로 생각해서 풀었는데 제 로직은 어느 부분에서 잘못된 것인지 모르겠습니다 ㅠ확인해주실 수 있을까요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
반복문 최소화하고 indexOf 사용해서 풀어봤습니다
export default function solution(arr) { let answer = 0; const m = arr.length; const n = arr[0].length; for (let i = 0; i < n; i++) { for (let j = i + 1; j < n; j++) { let cnt = 0; for (let k = 0; k < m; k++) { if (arr[k].indexOf(arr[0][i]) < arr[k].indexOf(arr[0][j])) cnt++; if (cnt === m) answer++; } } } return answer; }
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
공통원소 구하기 질문입니다.
해당 코드의 실패 예시가 결과 값이 5 999999999 1000000000 가 출력 되야 되는데 5만 출력 됩니다.위의 코드에서 flist, slist를 ArrayList로 선언 했는데 이를 int[]로 변경 후 동작을 하면 정상적으로 동작이 됩니다.int[]로 선언 했을 때랑 ArrayList로 선언 했을때 차이가 있는건지 제가 while문안에 비교를 잘못한건지 모르겠어서 질문드립니다..
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
9. 1-6 시간복잡도 계산하기
시간 복잡도 구할때 이미지에서 빨간색 박스 친 대입 연산자는 왜 빠진건가요?
-
해결됨김영한의 실전 자바 - 중급 2편
해시 인덱스를 사용하는 경우 데이터 저장 평균 시간 복잡도에 대해 질문
관련 내용:강의: 55. 해시 알고리즘6 - 해시 충돌 구현 21:56pdf: 6. 컬렉션 프레임워크 - 해시(Hash) 24P 정리 부분해시 인덱스를 사용하는 경우 데이터 저장을 할 때 평균 시간복잡도가 O(1)이라고 설명. 의문점private static void add(LinkedList<Integer>[] buckets, int value) { int hashIndex = hashIndex(value); LinkedList<Integer> bucket = buckets[hashIndex]; //O(1) if (!bucket.contains(value)) { //O(n) bucket.add(value); } }위와 같이 항상 bucket이 contains(..) 메서드를 호출하여 중복된 값이 있는지 확인하므로 O(n)의 시간 복잡도가 소요됩니다. 그래서 저는 항상 데이터 저장을 할 때는 O(n)으로 계산해야 한다고 생각했습니다. 강의에서 말씀하신 내용은 이상적으로 해시 충돌이 별로 발생하지 않는 상황(그리고 구체적인 구현은 신경쓰지 않는 상황)이라 가정하고 O(1)이라고 한 것일까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-C 질문드려요
동적 계획법 알고리즘에서 사용되는 테이블을 캐시라고 말할께요.만약, dp[y][x]에 값을 최초로 갱신하고 이후에 또 다른 경로 B로 (y,x)에 도달하게 되면 바로 dp[y][x]를 가져다 사용하게 될 겁니다.하지만 만약에 저장했던 최초로 연산했던 최장 경로와 다른 경로 B가 겹치게 된다면 캐시값을 사용하지 않고 직접 연산했을 상황에서는 무한 loop가 발생한것이니, 이런 상황 때문에라도 위치 정보만으로 캐싱하면 안되는거 아닌가요? 그렇게 생각해서 저는 처음에 위치 정보 뿐만 아니라 방문한 정점 정보도 key 값으로 사용하려다 실패하고 큰돌님 강의를 봤네요.애초에 이런 일이 발생하지 않아서 위치 정보만으로 캐싱해도 되는 것인지, 아니면 제 생각이 잘못되었는지 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 불 코드 질문합니
안녕하세요 큰돌님. 제가 강의 보기 전에 짰던 코드인데 각각의 bfs 를 번갈아 가면서 시도하는 코드입니다. 메모리 초과 오류가 납니다.http://boj.kr/83dab6d47b9a4dc7b6270cd88a755aea 벽은 불에 안타는 조건인지 제 생각은 불이 여러 개 주어진 경우, 그 불 간의 최단 시간으로 배열을 바꿔야 할 거 같은데 이런 경우는 없는지도 궁금합니다!
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
섹션 6 사전문제 3번문제 답안이 틀린것 같아요
1번문제 예시 답안에 답안 코드가 없구요3번문제 답안도 문제 수열 (3, 6, 13, 28, 59, ...)과 안맞는데점화식이 a(n) = a(n-1)*2 + (n-2)가 되야 수열과 맞는데 확인 부탁드려요
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
영상 보기 전에 직접 풀어봤습니다.
export default function solution(str) { let answer = ''; let l = 1; for (let i = 0; i < str.length; i++) { if (answer[answer.length - 1] !== str[i]) { if (l > 1) { answer += l + str[i]; l = 1; } else { answer += str[i]; } } else { l++; } if (i === str.length - 1 && l > 1) answer += l; } return answer; }여러 경우에 대해서 대응은 되는거 같은데 괜찮은가요 ?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-K
http://boj.kr/da5acdd9bf904e17b2a814c2f3c9d646N이 1,000,000이라 O(NlogN) 방식을 응용해서 풀려고 했습니다. 교안에는 O(NlogN) 방식으로 LIS의 길이를 측정하는 방법만 나와있으니까요. 사실 LIS 벡터가 LIS 그 자체가 되지 못하는 이유가 LIS의 길이가 최대로 갱신된 이후에 더 작은 값이 LIS의 앞 요소를 바꾸어버린다면, 수열에서 순서대로 뽑는 게 아니기 때문이라고 생각했습니다. 그래서 짠 방법이 lis의 최대를 갱신시키는 순간의 벡터만 계속해서 저장해주면, 수열의 앞에서부터 순서대로 뽑아서 증가하는 순서대로 저장한거고 이후의 수열을 검사하면서 LIS의 앞 부분을 건들여도 상관없는거니까 될 줄 알았는데 틀렸다고 뜨네요. 아마도 같은 lis 벡터의 동일한 인덱스에 들어올 수 있는 값들 중에서 수열의 가장 앞쪽에 위치한 원소를 저장해 만든 가장 긴 증가 수열이 문제에서 원하는 LIS라서 그런 것 같긴 한데... 제 코드가 틀린 이유가 알고 싶어요.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 어디부분에서 잘못됐는지 도저히 모르겠습니다 ㅜㅜ#include <iostream>#include <vector>using namespace std;int N, L, R;int M[50][50];int visited[50][50];int sum;int dy[] = { 1,-1,0,0 };int dx[] = { 0,0,1,-1 };void dfs(int sy,int sx,vector<pair<int,int>>& v) { for (int i = 0; i < 4; i++) { int y = sy + dy[i]; int x = sx + dx[i]; if (y < 0 || N <= y || x < 0 || N <= x)continue; if (visited[y][x])continue; if (abs(M[y][x] - M[sy][sx]) >= L && abs(M[y][x] - M[sy][sx]) <= R) { v.push_back({ y,x }); visited[y][x] = 1; sum += M[y][x]; dfs(y, x,v); } }}int main() { cin >> N >> L >> R; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { cin >> M[i][j]; } } int ans = 0; vector<pair<int, int>>v; while (1) { fill(&visited[0][0], &visited[0][0] + N * N, 0); bool flag = false; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { if (!visited[i][j]) { v.clear(); v.push_back({ i,j }); visited[i][j] = 1; sum = M[i][j]; dfs(i, j, v); if (v.size() == 1)continue; for (pair<int, int>p : v) { M[p.first][p.second] = sum / v.size(); flag = true; } } } } if (!flag)break; ans++; } cout << ans;}
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
다른 강의 언제나오나용?
안녕하세요! 24년도부터 강의 잘 보고 있습니다!덕분에 알고리즘이 재미있어졌습니다!이직준비를 위해 강의를 연장했는데, 다른 강의는 언제쯤 나오나요?너무 너무 기다리고 있습니다~그리디 부탁드립니당 ㅎㅅㅎ 강의 영상마다 질문이 있으면 언제든 그리고 바로 질문 남겨주세요! 질문할 때 가장 정확하게 이해할 수 있습니다.해당 영상과 관련된 질문들을 해주실 때 제가 가장 정확히 답변 드릴 수 있습니다!취업 전반의 상담이나, "제 코드가 왜 틀렸는지 알려주세요"와 같이 광범위한 질문은, 질문자의 상황에 따라 답변이 달라질 수 있기 때문에, 정확한 답변을 드리기가 어렵습니다 :(이런 분들을 위해서는 멘토링 항목으로 별도 제공하고 있으니, 다음 링크를 참고해주세요!이 링크를 통해서는 본인의 코드가 왜 틀렸는지 모를 때 질문을 주셔도 좋고, 취업 전반(면접 준비, 자소서, CS 면접 등)에 관련한 질문을 주시면 답변 드리겠습니다 :)"이 질문은 해도 되나?"라는 생각이 드신다면 우선 남겨주세요! 제가 답변 드리기 어려운 건 멘토링에 올려 달라고 재요청 드리겠습니다 :)
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
강의 상 구현 하는 내용과 강의 책 구현 요구 내용이 조금 달라요
2-5.링크드 리스트 구현 - 2 02_04_add_node_linked_list.py 해당 내용에서 강의에서는 index 번째에 value 를 추가 하라고 되어있는데, 교재 해당 코드 스니펫의 return문 에는return "index 번째 Node 뒤에 value 를 추가하세요!"라고 기재되어있습니다 🙂풀이 부분은 강의와 동일한데, 해당 부분 먼저 확인해서 문제를 풀면 기준이 조금 달라져서 풀이가 달라지게 되니 문구의 수정이 필요하지 않나 해서 질문 남깁니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-A 질문드립니다!
안녕하세요 문제를 풀었는데 오답이 나와서 질문드려요http://boj.kr/2cfae2c4629946ce8da516639d668b86추가로 987654321 로 정하신 것도 그냥 크게 정하신거 같은데 혹시 정확한 범위 알 수 있을까요 ?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-V
http://boj.kr/4e0a066574c8454a833fbe10d7158949왜 틀렸는지 모르겠어요..
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-O 문제 해석 질문있습니다..
강의를 들으니까 뭐한건가 싶네요.. 문자열을 입력받는다길래 한 줄이 아니라 여러 줄도 받을 수 있고, '.'이 나와야지 끝나는 줄로 알았습니다.. 또한 한 줄에 여러 개의 '.'이 있을 수도 있다고 생각해서 코드를 짰습니다. 제가 쓴 코드는 4949번의 예제 case를 포괄하는 코드라고 생각합니다.그런데 이걸로 제출을 하면 10퍼센트에서 틀렸습니다가 나옵니다. 뭐가 틀린걸까요? 코드를 복잡하게 쓴 점 죄송하게 생각합니다.. http://boj.kr/abf8582f34f548c9b896efb10b83a618
-
미해결비개발자도 쉽게 시작하는 코딩 입문 강의: PCCE 합격을 위한 파이썬 기초 & 알고리즘
4-1. 다양한 형태의 제어문-실습문제28. 질문
안녕하세요강사님의 풀이는 이해가 됐는데요. for j in range(5-i):이것의 결과값이 5, 4, 3, 2, 1 이면# for j in range(5,0,-1)이렇게 진행해도 동일한 결과값이 나옵니다.그런데 run하면*************************이렇게 나옵니다. 무슨 차이가 있을까요??