묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편
침투/섬개수 질문
침투/섬의개수 질문드립니다. 침투 문제에서는 연속된 숫자가 들어와서 row=input() 이렇게 표현 하셨는데 연속된 숫자가 들어올거라는 것을 어떻게 유추할수 있을까요? 섬의개수 문제에서는 침투와 달리 row=list(map(int,input().split())) 이렇게 표현하셨는데, 침투랑 동일하게 row=input()으로 표현해도 되는거 아닌가요? 연결정보 채우는거에 대한 언급을 어떻게 찾는지 궁금합니다
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-O 4375 질문있습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/530b59b66e6b4c31bd01bbebc065f5e4안녕하세요 큰돌님 9901 테스트케이스를 통과하지를 못 하는데 이유를 못 찾겠어서 문의드립니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-A 관련 질문 있습니다.
제가 혼자 풀어봤는데요. 출력은 맞게 나오는 것 같은데 채점하면 자꾸 틀렸다고 나오네요. 그런데 아무리 봐도 뭐가 틀렸는지 모르겠습니다!! 도와주십쇼!!#include <bits/stdc++.h> using namespace std; int n=9, k=7; void print(vector<int> b, int a[]){ for(int i : b) cout << a[i] << endl; cout << endl; } void combi(int start, vector<int> b, int a[]){ int sum=0; if(b.size() == k){ for(int i : b) sum += a[i]; if(sum == 100){ print(b, a); } return; } for(int i = start+1; i<n; i++){ b.push_back(i); combi(i, b, a); b.pop_back(); } return; } int main(){ vector<int> b; int a[10]; for(int i=0; i<9; i++){ cin >> a[i]; } sort(a, a+9); combi(-1, b, a); return 0; }
-
미해결비전공자의 전공자 따라잡기 - 자료구조(with JavaScript)
linkedList prev와 tail 사용 후 o(1) 구현.
class LinkedList { length = 0; head = null; tail = null; add(value) { if (this.head) { this.tail.next = new Node(value); this.tail.next.prev = this.tail; this.tail = this.tail.next; } else { this.head = new Node(value); this.tail = this.head; } this.length++; return this.length; } search(index) { return this.#search(index)[1]?.value; } #search(index) { let count = 0; let prev; let current = this.head; while(count < index) { prev = current; current = current?.next; count++; } return [prev, current]; } remove(index) { const [prev, current] = this.#search(index); if (prev) { prev.next = current.next; this.length--; return this.length; } else if(current){ // index = 0 일 떄 current = current.next; this.length--; return this.length; } if (current.next === null) { // index = tail this.tail = current.prev; current.prev.next = null; this.length--; } // 삭제 대상 없을 때 아무것도 안함. } } class Node { next = null; prev = null; constructor(value) { this.value = value; } } const li = new LinkedList(); li.add(1); li.add(2); li.add(3); li.add(4); li.add(5); console.log(li.add(6)); console.log(li.remove(5)); console.log(li.remove(4)); console.log 찍었을때는 오류 없이 나온거 같은데 잘 구현 했나 궁금합니다!
-
해결됨코딩테스트 [ ALL IN ONE ]
강의자료 만들 때 사용하신 프로그램이 뭘까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의하시면서 사용한 강의자료 퀄리티가 너무 좋아서 그러는데 혹시 어떤 프로그램 사용하셔서 만들었는지 알 수 있을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1 - M 반례
https://www.acmicpc.net/source/share/feaa43337ef8427293d0e4111b87b156안녕하세요. 제가 작성한 코드가 통과되지 못하는 이유를 알고싶은데 음 접근 방식 부터가 잘못된거였을까요??그리고 매번큰돌님 코드 보기 전에 제가 스스로 문제 풀어봤을 때 너무 코드가 다르게 나오는데, 제가 스스로 풀 때 시도했던 코드도 통과시키려고 노력하기보다큰돌님 코드로 연습하는 것이 더 효율적일까요? 제 코드를 통과시키려고 시간을 투자하는 것보다, 제 접근방식?은 버리고그 시간에 큰돌님 코드로 반복 연습하고, 또 다른 문제를 푸는 게 좋을까요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
알고리즘 문제 풀 때 질문
안녕하세요 선생님 선생님의 배움으로 알고리즘을 풀고있는 알뉴비 입니다 제가 알고리즘 문제를 접하고 계속 며칠 동안 고민을 하는데도 푸는 방법이 생각이 안 나는 문제가 있을 때 선생님의 영상을 보고 코드는 안보면서 초반에 어떻게 접근하면 된다! 라고 하시는 것만 듣고 풀어보고 있는데요 이렇게 해도 괜찮을까요?ㅠㅠ
-
미해결2주만에 통과하는 알고리즘 코딩테스트 (2024년)
정수론 파트 #2247 문제에 대한 질문입니다!
N = int(input()) temp = 0 for i in range(2, N//2 + 1): temp += (N//i) * i - i print(temp%1_000_000)안녕하세요! 강의중에서 2의 제곱 수를 구하는 아이디어를 바탕으로 위 코드와 같이 작성하였습니다. 처음 시도에선 range를 2에서 n+1까지 돌렸으나 시간초과라는 답을 받았고, 다음 시도에선 입력에 100이 주어졌을 경우에 51부터는 하나의 경우만 나오니 저런 식으로 범위를 줄이고 제출을 했으나 계속 시간초과라는 답만 받고있습니다.. 저의 생각에서 놓친 부분을 알고자 이렇게 문의드립니다..!(그리고 pypy3으로 제출했을 경우에는 맞다고 나옵니다..!)
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 1940 질문 있습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/ff41e287b9de4ec0bdb54ab2ea3b1c69 next_permutation을 통해서 풀어봤는데, 테스트케이스는 통과하는데 시간초과가 자꾸 떠서 문의드립니다.이 문제는 next_permutation을 통해 풀면 안 되는 문제인건가요??
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-M 질문 있습니다.
안녕하세요.강의도 듣고 제 나름대로 구현을 해보았는데, 테스트 케이스는 다 통과하는데, 어째선지 내부 테스트 케이스를 통과를 못하는것 같습니다.열심히 봤는데 이유를 모르겠네요... 부탁드립니다.http://boj.kr/c1ff73d9fcf3471d9459e8a7fa24e793감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-H 질문
안녕하세요 큰돌님 문제를 다시 풀어보다가 의문이 생겨서 질문 드립니다. 우선 저는 해당 인덱스를 확인해보며 해당인덱스까지의 경우의 수를 확인해보고 해당 루프마다 ret에 경우의수를 더해주는 방식으로 문제를 풀었습니다근데 제 풀이의 경우 visited배열을 방문해제할때 for문으로 확인하는 방식이라 시간복잡도가 O(N^2) 일거라 생각하고 당연히 틀렸겠지 하고 그냥 제출해봤는데 맞아서 의문입니다.왜 맞은걸까요?고민을 해봤는데 이해가 잘 안되서 질문드립니다. 감사합니다http://boj.kr/329316d089c24e2896b8062b2a367efb
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-K 질문 있습니다.
안녕하세요.혼자서 고전하다 결국 강의를 보며 클론 코딩을 하는 느낌으로 이번 문제를 풀게 되었습니다.그래서 제가 이해한 것을 바탕으로 코드 스타일만 제 스타일로 바꿨는데, 예제 4를 통과하지 못합니다. 어디선가 제가 틀렸다는 것인데 어디가 틀렸는지 도저히 모르겠네요...여기 제 코드입니다.http://boj.kr/40496fc4ce9d4e8fa8b9243394571b92 그리고 질문이 하나 더 있습니다.이해가 잘 안되어 교본에서 큰돌님 코드를 보고 이해를 하려고 시도를 했는데, 이해가 되지 않는 부분이 하나 있습니다.일단 여기 큰돌님 코드입니다.http://boj.kr/60dbddfd09b34a019c1115999cf9eff1제 생각에 오락실을 0개, 1개, 2개, 3개...를 들릴 때 dp의 값을 공유할 수 없기에, go의 cnt매개변수가 바뀔 때 마다 dp가 초기화 되어야 한다고 생각합니다.그러나 큰돌님 코드는 dp의 초기화가 한번만에 되는데도 불구하고 어떻게 코드가 잘 돌아가는것 같습니다.질문이 좀 이상하긴 한데, 이게 어떻게 가능한가요? 감사합니다.
-
미해결2주만에 통과하는 알고리즘 코딩테스트 (2024년)
코드 오류
18:12 코드가 for arr in hint라서 arr[0], arr[1], arr[2] 처럼 지정이 되어야 하는데 hint[0], hint[1], hint[2]로 되어 있습니다. (강의자료에는 제대로 나와있습니다.)
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문 있습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 다른 강의나 교안에서 설명해주셨던 것 같은데, 다시 찾을 수가 없어서 질문으로 드립니다ㅠㅠ아래 코드를 사용할 때 주의점과, 해당 코드를 사용하면 어떻게 되는 거였는지 설명을 들을 수 있을까요?ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간초과 원인을 모르겠습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요.강의 듣지 않고 먼저 제가 생각한 구현대로 풀었는데, 테스트케이스는 문제 없이 통과하지만 제출시에 시간초과가 나는 이유를 알고 싶어서 질문드립니다!http://boj.kr/685512bc92be45b7b83207a485d28054
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
DP에서 경우의 수 구할 때 dp[4] += dp[2] 가 되는 원리가 이해가 잘안가요.
1, 2, 3으로 만들 수 있는 경우의 수를 구하는 문제 부분에서 dp[j] += dp[i - j]가 되는 원리가 이해가 안가서 질문드립니다. 1로 만들수 있는 경우의 수를 모두 구하고, 2로 만들수 있는 경우의 수를 만들 때 dp[4]를 만든다면 dp[4] - 기존에 1로 만들 수 있는 경우의 수 (1+1+1+1)에 dp[2]를 더해서 경우의 수를 계산 한다고 설명해주셨는데요. dp[4]는 (1+1+1+1, 2+1+1, 2+2)는 3가지 경우의 수가 들어가야 하잖아요. 여기서 왜 1로 만든 경우의 수가 (1+1+1+1) 1이 저장된 dp[4]에 (0+2, 1+1)의 경우의 수 2가 저장된 dp[2]를 왜 더하는 걸까요?(2+1+1, 2+2)와 (0+2, 1+1)이 무슨 연관이 있어서 더 해주는지 추가적인 설명부탁드려도 될까요?
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
병합정렬 문제에서 조건이 하나 빠진 것 같습니다
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 3-4 2. 어려움을 겪는 부분병합 정렬 구현해볼 때 두 배열의 비교하는 값이 같은 경우에서의 처리가 안되어 있는 것 같습니다. 3. 시도해보신 내용while first_array_index < len(array1) and second_array_index < len(array2): if array1[first_array_index] < array2[second_array_index]: result_array.append(array1[first_array_index]) first_array_index += 1 elif array1[first_array_index] > array2[second_array_index]: result_array.append(array2[second_array_index]) second_array_index += 1 else: result_array.append(array1[first_array_index]) result_array.append(array2[second_array_index]) first_array_index += 1 second_array_index += 1 동일한 값을 비교할 경우 두 값을 모두 result 배열에 넣어줘야 하니까 else의 코드도 있어야 하지 않을까 생각이 들어 글 남깁니다! 좋은 강의 감사드립니다!
-
미해결2주만에 통과하는 알고리즘 코딩테스트 (2024년)
2강 정수론 문제3 #1407 질문
let [a, b] = require("fs") .readFileSync(0) .toString() .trim() .split(" ") .map(Number); function count(num) { let sum = num; for (let i = 1; i < 99; i++) { sum += (2 ** i - 2 ** (i - 1)) * Math.floor(num / 2 ** i); } return sum; } console.log(count(b) - count(a - 1));백준에 이렇게 제출하면 틀렸다는 답이 나옵니다. 어떤 문제일까요? ㅜㅜ BigInt로도 해봤는데 안 됩니다..
-
미해결2주만에 통과하는 알고리즘 코딩테스트 (2024년)
이차원 배열 (int형)dp로 0 혹은 -1로 체크하는 방법 말고 boolean형 배열로 체크해서 바로 리턴해줄 수 없나요?
제가 자바로 공부중이라 파이썬이 알고리즘 풀이에 좋은 건 알지만 코드 공부하는 겸 자바로 풀고 있습니다.그런데 자바는 배열은 선언하고 -1일 때는 따로 초기화를 해줘야되는 번거로움이 있습니다. 그래서 혹시 이차원 배열 (boolean형)으로 방문했는지 체크해서 문제를 풀 수 있는 방법이 있을까해서 질문드립니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-O 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 선생님, (3-O) 15684번 : 사다리조작 문제 질문있습니다.이 문제의 조건으로 " 두 가로선이 연속하면 안된다. " 이 부분을 코드로 표현하면 어떻게 되나요?