묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결2주만에 통과하는 알고리즘 코딩테스트 (2024년)
다익스트라 강의에서 shortest_finder 함수는 항상 시작한 노드를 리턴하지 않나요?
내용무!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-J 맞왜틀 질뮨
Q두개를 만들어서 맞았습니다 근데 그전에 Q1개를 만들었던 방식이 예제는 다 맞는데 WHY? 틀렸는지 모르겠습니다.. http://boj.kr/dcc9afeed89b4ca99e5c33617d5757d9
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
istringstream 사용 질문
안녕하세요, 큰돌님.split() 함수에 대해 잘 학습 후 공부 하던 중 궁금한 게 생겨 질문드립니다.split() 함수의 경우 문자열을 특정 구분자 delimiter를 기준으로 분할하는 기능을 제공해주고 있습니다.큰돌님의 예시와 같이 " " (빈칸) 으로 구분하여 문자열을 분할하는 경우에는 c++ 표준 라이브러리 <sstream> 헤더에 포함된 'istringstream' 을 사용하는 것이 더 효율적인거 같은데큰돌님께서는 istringstream에 대해서는 어떻게 생각하시는 지 궁금합니다.좋은 강의 감사합니다. 질문자 올림.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
반복문 사용 (간단..?)
const solve = (a,b) => { let left = 0, right = 0 const n = a.length + b.length; const answer = []; for (let i = 0; i < n; i++) { if (a[left] < b[right]) { answer.push(a[left]); left ++ } else { answer.push(b[right]) right ++ } } console.log(answer) } const a = [1,3,5]; const b = [2,3,6,7,9] console.log(solve(a,b));반례가 있을까요?
-
해결됨코딩테스트 [ ALL IN ONE ]
시간복잡도 질문 드립니다.
list의 시간복잡도를 설명하실 때 visited = [True, True, False, True, False, True, False]# if visited[3] == True:if visited[3]: print("room number 3 visited")이 코드에서 입력값 n에 따라 visited의 길이가 n으로 바뀌는 거면 visited 리스트를 n개의 원소로 초기화하는데에 걸리는 시간은 O(n)이므로 , if visited[3]: 이부분에서의 시간복잡도가 O(1)이여도 코드의 총 시간 복잡도는 O(n) 아닌가요 ??
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
혼자 푼 방법에서 2번이 런타임에러가 나오는데 어디가 문제인지 알고 싶습니다.
우선 설명해주신 방법을 이해하였는데 강의를 듣기전 혼자 풀어본 방법으로는 주어진 알파벳의 위치를 담는 list를 만들어 넣어 놓고 이후에 문자에서 해당 알파벳이 아니면 그 문자의 위치가 리스트의 위치에 해당하는 값과의 차를 구하여 절대값을 씌워 구하게 하였습니다.문제는 채점중 2번 문제가 런타임 에러가 나오는데 어느 부분에서 문제가 되는지 알고 싶습니다!import java.util.*; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); String word = in.next(); Character standard = in.next().charAt(0); List<Integer> position = new ArrayList<>(); for (int i=0; i<word.length(); i++){ if(word.charAt(i) == standard) position.add(i); } int lf = 0; String result = ""; int check = 0; for(int i=0; i<word.length(); i++){ if(word.charAt(i) == standard) { result += "0"; if(check != 0) lf++; check = 1; } else{ int left = Math.abs(position.get(lf)-i); int right = Math.abs(position.get(lf+1)-i); if(left>right) result += right; else result += left; } if(i == word.length()-1) break; else result += " "; } System.out.println(result); } }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-A 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요! http://boj.kr/8c457baae3554ac38764f81d351201bc제가 생각한 문제 풀이는 총 9명 키의 합에서 100을 빼면 난쟁이가 아닌 2명 키의 합이 나온다고 생각했습니다.9명의 키합 - 100의 값을 ss로 정하고 for문을 돌면서 2명의 합이 ss가 나오면 해당 두명을 erase를 사용해 제거해서 출력하는 방식으로 코딩했습니다. Devc++에서 입력받고 출력도 잘 나오는데 반례가 있는지 백준 제출하면 틀렸다고 나오는데 어떤게 문제인지 모르겠어 질문남깁니다! 감사합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-H 메모리 초과 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.선생님 안녕하세요저는 경로에 대해서 string으로 저장하고탈출시 출력하는 로직으로 작성했는데왜 메모리 초과가 나는지 모르겠습니다.알려주시면 감사하겠습니다...http://boj.kr/92e022062d0148faa40d478f052dfc89
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
fill 초기화 해주는 부분 질문
안녕하세요! 궁금한점이 있어 질문 드립니다.fill(&visited[0][0], &visited[0][0] + 101 * 101, 0);초기화 해주는 부분은 이해를 하였습니다.그런데 &visited[0][0] + 101*101 이 부분이 이해가 가지 않습니다. 깊이 생각하지 않고 배열의 모든 부분을 순회 하면서 초기화 해준다고 생각하면 될까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-C 어느 부분이 틀렸는지 모르겠습니다.
https://www.acmicpc.net/source/share/e76dff0067f048f28c1a105de7d81014강의를 봤는데도 코드가 왜 틀린건지 잘 이해가 안되네요. 테케는 통과했는데, 2%에서 틀립니다. 리뷰 부탁드립니다!
-
미해결김영한의 실전 자바 - 중급 2편
혹시 고급편은 언제 나오는 지 알 수 있을까요?
스프링을 공부하다가 람다, 스트림에 대한 학습이 부족해서 막혔는데 혹시 고급 편 강의가 언제 나올 수 있을지 대략적이라도 알 수 있을까요?... 다른 시중 강의를 구매하고 볼지 아니면 김영한 님 강의를 기다릴지 고민입니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 이분탐색 풀이 질문
안녕하세요, 1-L 문제 이분탐색으로 풀어보았는데요.lower_bound함수는 목표값을 찾지 못하면 해당 벡터 끝 다음 이터레이터 즉 코드상 arr.end()를 반환하니 lower_bound 실행 후 arr.end()인지 아닌지만 체크해주면 값을 찾았다로 생각했습니다. 그러나 실행시켜보니 조건문에 추가로 &&*it == goal를 적어주어야 성공이고 밑에 첨부한 링크와 같이 이 과정을 생략한다면 틀렸습니다라고 나옵니다. 이유를 알 수 있을까요?http://boj.kr/7f90a9926f17477394e238b900523acc
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L map방식 실패
안녕하십니까 강의 잘 보고 있습니다.결론적으로 테스트 케이스는 성공하였는데 왜, 어떠한 부분에서 실패가 떴는지 감이 잡히지 않아 글을 올립니다. 저는 map을 사용하여 풀어보았습니다.need라는 변수를 만들어 map을 한 번 순회하면서 필요한 값이 무엇인지 담고, 그 값이 map에 있으면 (현재 for문의 값, 필요한 값) 을 각각 마이너스를 해주는 형식으로 했습니다.조건절에는 빌드를 해보니 map에 담겨 있지 않은 요소를 비교할 때 공간이 생기면서 값이 0으로 생겨나는 것 같아서 둘 다 값이 있을 때만 실행하게 하였습니다.아래는 주소입니다.http://boj.kr/6072aa9514324b318f45514ef0412868
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-B번 문제 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.http://boj.kr/a88688ffea6947d2ada21dbb5775c405안녕하세요 해당 문제를 입력을 string s로 받고 s를 0부터 sizeof(s)까지 돌면서 a~z에 해당하는 값을 1씩 증가시켜 마지막에 모두 출력했는데 어떤 부분에 오류가 있는지 모르겠습니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
인접 행렬 다른 풀이
#include <bits/stdc++.h>using namespace std;bool V[10][10];bool visited[10];void dfs(int start) { if (visited[start]) return; visited[start] = true; cout << start << ' '; for (int dir = 0; dir < 10; dir++) { if (V[start][dir] && !visited[dir]) { visited[dir] = true; dfs(dir); } }}int main() { cin.tie(0)->sync_with_stdio(0); V[1][2] = true; V[2][1] = true; V[1][3] = true; V[3][1] = true; V[3][4] = true; V[4][3] = true; for (int i = 0; i < 10; i++) { dfs(i); cout << '\n'; } return 0;}이렇게 짜도 되나요?
-
해결됨코딩테스트 [ ALL IN ONE ]
문제풀이 singly linked list - head&tail에서 '마지막 노드 제거'하는 함수 부분
안녕하세요~ 요즘 파이썬 알고리즘에 대해 알아가는게 선생님 덕분에 너무 재미있습니다!그런데 선생님이 제공하신 문제풀이 singly linked list - head&tail에서 '마지막 노드 제거'하는 함수 부분이 혹시 잘못된 것인가 해서 여쭈어 봅니다. # 시간복잡도 O(n) def remove_back(self): current = self.head last_index = self.size - 1 for _ in range(last_index - 1): current = current.next_ current.next_ = current.next_.next_ self.tail = current.next self.size -= 1 함수에서 나오는 self.tail = current.next로 되어있는데,self.tail = current로 작성해야 하는게 아닐까요?혹시 제가 틀렸다면 설명해 주시면 감사하겠습니다~
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문있습니다.
입력을 받을 때마다 조건문 돌려서 판별할 생각을 못하고 배열로 다 받아서 했더니 문제를 더 어렵게 풀어버렸습니다. 음.. 강의 코드 보면서 제가 푼 문제가 이렇게 쉽게 풀릴 수 있는 문제구나라고 알게 되었습니다.혹시 제 코드에 문제점이 있는지 확인해주실 수 있으신가요? 채점 파일에서는 다 맞았다 뜨는데 혹시 몰라서 질문 드립니다. 좋은 강의 항상 감사드립니다. 강의 보면서 열심히 공부하겠습니다.#include <iostream> #include <stdio.h> #include <string> #include <fstream> #include <vector> using namespace std; int main() { ios_base::sync_with_stdio(false); int n; cin >> n; vector<int> table(n); for (int i = 0; i < n; i++) cin >> table[i]; int max = 1; int cnt = 1; int idx = 0; int prev = table[0]; int count = 1; while (idx + count < table.size()) { if (table[idx + count] >= prev) { cnt++; } else { idx = idx + count; cnt = 1; count = 0; } prev = table[idx + count]; count++; if (cnt > max) max = cnt; } cout << max << "\n"; return 0; }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-J 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.http://boj.kr/604e8201aae24300845cde414a1f4416http://boj.kr/604e8201aae24300845cde414a1f4416선생님 강의보고 생각하면서 유사하게 만들어봤는데 틑렸다고 나옵니다 ㅠㅠ 정답 코드랑 비교해도 어떤 부분이 틀렸는지 확인이 안되서 ㅠㅠ 질문 남깁니다. 감사합니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
코드 질문 있습니다.
8.팰린드롬 문제 관련 입니다.String temp = new StringBuilder(str).reverse().toString();이 부분에서 스트링빌더를 문자열로 다시 바꿔주는데문자열을 왜 다시 문자열로 바꿔주는지 이해가 안갑니다.. 인풋값으로 문자열이 아닌 다른값을 받아왔을때를 위한 코드인지 궁금합니다.- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨김영한의 실전 자바 - 중급 2편
3. 컬렉션 프레임워크 - ArrayList 강의 교안 오타 제보
[오타 제보 내용]3. 컬렉션 프레임워크 - ArrayList 교안 pdf직접 구현하는 배열 리스트2 - 동적 배열배열의 크기를 초과할 때(5) 이렇게 증가된 배열에 데이터를 추가하면 된다. 물론 데이터가 추가되었으므로 size 도 하나 증가시킨다.기존 배열( x001 )은 더는 참조하는 곳이 없으므로 GC의 대상이 된다.그림에서는 x100으로 나와있는데, 교안에는 기존 배열의 주소를 x001로 표시하고 있습니다.기존 배열의 주소값 확인 부탁드립니다.직접 구현하는 배열 리스트3 - 기능 추가주제 내용 맨 첫 부분에 나오는 add(Index, 데이터)와 remove(Index)의 파라미터가 Index라고 I가 대문자로 나와 있습니다.i(소문자) 확인 부탁드립니다.감사합니다.