묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간복잡도와 시간제한 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.선생님께서 본 문제에서 dfs를 사용하면 연산량이 1억번이 돼서 많을수도 있다고 하셨는데, 이 문제는 시간제한이 길어서 통과가 된다고 수업에서 말씀해주셨습니다. 그렇다면 1만번 데이터를 O(n제곱) 알고리즘으로 연산을하면 보통 시간제한 몇 초까지 가능하다고 생각하면 될까요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이 코드는 어떤지 궁금합니다!!
from collections import deque n,m = map(int, input().split()) data = list(map(int, input().split())) data = deque(data) cnt = 0 check = True data[m] = str(data[m]) find = data[m] while data: tmp = data.popleft() for i in data: if int(i) > int(tmp): data.append(tmp) break else: cnt += 1 if tmp == find: check = False if check == False: break print(cnt) m에대한 값만 str로 바꾸어 해결하였습니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
인접리스트 시간 복잡도가 잘 이해가 가지 않습니다.
선생님 안녕하세요.수업 열심히 들으면서 코테 준비중인 취준생입니다.인접리스트의 공간복잡도와 모든 간선찾기의 설명을 들으면서 약간 의문이 들어 질문드립니다.예를 들어,vector<int> v1[V] 만큼의 배열을 생성하고 나서, 각 배열에 연결할 정점들을 다 카운트 했을 때 E개라서 공간복잡도가 O(V + E) 이라고 이해해도 될까요?E = E * push_back(i); 와 같은 코드로 이해했습니다.재미있고 수준높은 강의 잘 듣고 있습니다!
-
미해결코딩테스트 [ ALL IN ONE ]
Live 문제풀이 업데이트 날짜
강의 정말 정말 잘 듣고 있어요! 너비 우선 탐색 [코테 적용] 문제풀이 강의 2개는 언제쯤 올라오나요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
꼭 L이 n일때 끝나지 않아도 되지 않나요??
function solution(arr) { let answer = "NO"; let total = arr.reduce((a, b) => a + b); let n = arr.length; function DFS(L, sum) { if (answer == "YES" || L > n ||sum > total / 2) return; if (total / 2 === sum) { answer = "YES"; return; } else { DFS(L + 1, sum + arr[L]); DFS(L + 1, sum); } } DFS(0, 0); return answer; }어떤 배열의 서로소 부분집합의 합은 같아야 한다= 서로소인 부분집합의 합은 total의 반이 되면 된다.라고 한다면 어떤 부분집합의 합이 total의 반이 된다면 바로 끝내면 되지 않을까 해서 여쭤봅니다. if(L===n){ if((total-sum)===sum){ answer="YES"; } } 즉 이 부분에서, 꼭 L===n이 되지 않더라도 그 전에 sum이 total의 반이 된다면 끝날 수 있어도 되지 않나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-E 12869
http://boj.kr/9f41568a9d9440f2b2318d7b40498f83안녕하세요 강의 듣기 전 제가 작성해봤던 코드입니다.문제를 처음 봤을 때 순열이 떠올라서 순열로 풀어보려 했는데, 결과가 제가 생각했던 대로 나오지 않아서요.제가 작성한 방식으로는 못푸는건지, 아니면 제가 놓치고 있는 부분이 있는건지 궁금합니다ㅜㅡㅜ
-
해결됨코딩테스트 [ ALL IN ONE ]
프로그래머스나 백준 확인해보니까
프로그래머스에선 보통 숫자의 범위, 배열의 최대크기백준에선 시간제한 이런식으로 주어지는데 여기서 말씀해주신건 시간제한이죠ㅕ??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 다익스트라 코드에서 질문 사항이 있어 문의드립니다.
if (dist[here] != here_dist) continue;16 분쯤에서 말씀해주신 해당 예외처리를 위한 코드는 있으면 이미 최적의 경로로 구해진 노드를 다시 확인할 필요는 없다는 장점이 있는거죠?만약 저 위의 코드가 없다고 해서 속도 부분을 제외하고는 결과가 다르게 나타나진 않을것 같은데 맞을까요?
-
해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
선생님! 제 질문도 답변해주세요..
11일 전쯤에 질문 2개를 올렸는데, 2개 다 답변이 안와있어요.. 제 질문에 답변 부탁드립니다~~
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
print()부분에서 어느부분이 틀린지 이해가 가지않습니다.
n,m = map(int, input().split()) data = list(map(int, input().split())) sum = 0 cnt = 0 data.sort() lt = 0 rt = len(data)-1 print(data) while lt<=rt: if data[lt] + data[rt] <= m: cnt += 1 lt += 1 rt -= 1 else: rt -= 1 print(len(data)-(cnt*2) + cnt) print는 전체 data갯수에서 2명끼리 탄사람들의 개수를 뻬면 보트를 혼자타는 사람들의 갯수가 나오겠다고 생각했습니다. 그다음 2명이서타는 cnt의 개수를 더해주면 답이 될것이라고 생각하였는데 답이 되지않습니다. 왜틀린걸까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
문제 알고리즘 관련 질문
강사님 안녕하세요.2주차 dfs, bfs 알고리즘 문제를 풀고 있습니다.2-I(2870) 문제나, 2-J(10709) 와 같은 형태의 문제가dfs, bfs 알고리즘과 관련이 있는건지 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-C 속도 차이 질문드립니다
http://boj.kr/7b6776aa9c9545e58d94059272172eb9안녕하세요 선생님.3-C에서 저는 BFS를 통해서 구현하여 해결한 후, 강의를 통해 선생님 코드와 비교하며, 여러 구현방식을 익히는 중에 궁금한 점이 생겨서 질문드립니다.강의에 나온 코드는 검색 로직이 DFS로 구현되어 있는데, 제 코드의 검색 로직은 BFS인것만 제외하면 선생님 코드와 별 차이가 없다고 생각했습니다.그런데 막상 코드를 돌려보면제 코드의 시간은 164ms~172ms가 나오는 반면, 선생님의 코드는 88ms정도로 거의 90%가까이 빠르게 나옵니다.왜 이렇게 시간차이가 많이나는지 이해가 안는데 왜 그런지 여쭙고 싶습니다.(현재 여러 시도를 해보긴 했는데 오히려 더 느리게 나오고 잘 모르겠네요...ㅠ27,40번째 line의 중복 삽입 수정 버전 442mshttp://boj.kr/7fabb13a2ca441bda6e8591670ef9621함수 제거 버전 172mshttp://boj.kr/312e0d4df77c45219e46da19cc649e05)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
알고리즘 교안 연결리스트부분
안녕하세요. 선생님알고리즘 교안을 공부하다가 원형이중연결리스트의 예제로 나와있는 코드를 공부하다가 질문 드립니다http://boj.kr/dd49f798fc07434590e28e18f526ac3d << 이 코드를 출력하면3 1000 2 1 1 2 33 2 1 1 2 3이 나오는 것은 이해가 되었는데16행을 //로 주석처리를 하게 되면 17행의 a.erase(it)에 있는 it의 위치는 13행의 a.insert(it, 1000)에 있는 it의 위치보다 it++가 되어있는 것을 16행을 //로 주석처리하여 출력해서 출력된 값을 보고 알았습니다.그래서, 16행을 //처리시 출력된 값은 아래처럼 1000이 erase가 되지 않고 그 다음 위치인 2가 erase가 딥니다.3 1000 2 1 1 2 33 1000 1 1 2 3여기서 의문인게 12행에서 it을 a의 시작 주솟값이라고 초기화하였고, it++이 반복문에 들어가 있지 않은데 반복문같이 쓰인 것처럼 17행인 a.erase(it)의 it위치가 + 1이 된 것인가요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
ch = new int[10001]; BFS 메서드 안에다가 생성하는 이유
안녕하세요!혹시 ch배열을 전역에서 크기를 할당하여 사용하면 안될까요?BFS메서드 안에서 크기를 할당해주는 이유가 궁금합니다! (제가 모르는 이유가 있을까 하여 질문드립니다!)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4주차 비트마스킹
4주차 비트마스킹을 풀고 있는데도저히 모르겠으면 그냥 강의를 보고 푸는게 나을까요?? 그냥 접근이 안되네요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
오큰수
큰돌님 강의 잘 보고 있습니다. 오큰수를 풀다가 궁금한 점이 생겨 질문 드립니다.저는 배열을 하나만 생성하고 stack에 직접 값을 넣으면서 풀이에서 막혔었는데요 스택을 써야 한다는 거까지는 떠올렸지만 스택에 인덱스를 넣고 a라는 배열을 새로 만들어 거기다 실제 값을 넣어야겠다라는 생각이 이어지질 않았습니다. 문제를 보고 어떤 부분에서 배열을 새로 만들어야겠다라는 판단을 해야 할까요? 괄호 문제 같은 경우 그냥 그대로 넣어버려서 쉽게 풀었지만 오큰수 문제의 경우 배열을 새로 만들고 거기에 실제 값을, 스택에는 인덱스를 넣어야겠다라는 유기적인 생각이 안 떠올라서 질문 드려봅니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
DFS static변수 선언할떄 flag엔 static을 붙이지 않은 이유가 있나요?
어차피 정적변수나 전역변수나 쓰임이 비슷한거같기는 한데.... 딱 flag만 정적변수로 안하시더라구요 혹시 이유가있을까요??
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이 문제를 혼자 풀 때..맵 입력 받고, 지훈이 이동 -> 지훈이 맵 탈출 확인 -> fire 퍼짐 이것의 무한 반복. 지훈이 맵 탈출한 경우, break로 끝내기 정도의 논리를 생각하고 코드 짜다가 강사님 해결 풀이를 보았습니다. 지훈이 이동은 bfs의 최적 길을 한칸씩 이동하는.. 불의 번짐으로 인해 매번 bfs 해야한다는 문제점이 있긴 하지만.. 이 방법을 생각했고요, 맵 탈출 확인은 bool type으로 확인하는 걸로, 불 번짐은 dfs로 한번씩 퍼뜨리는 걸 생각을 했는데요,,시간 초과가 날 것 같기는 한데, 이 방식의 논리는 어떻게 보시나요??
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
추가 공부에 대하여
안녕하세요 선생님. 먼저 좋은 강의 정말 감사합니다 ! 이번에 두번 완강을 했는데 궁금한 것이 있습니다 ! 혹시 기업 코테를 준비할 때 빈출 알고리즘 유형을 알고 싶은데 어떤 것을 위주로 공부하면 좋을까요 ? 그리고 강의에서 하진 않았지만 더 알아야 할 알고리즘이 있다면 말씀해주시면 감사하겠습니다 !
-
미해결코딩테스트 [ ALL IN ONE ]
[코테 적용] LIFO 2번째 문제 시간복잡도 질문
안녕하세요 좋은 강의 감사합니다 !! 바로 본론으로 들어가면, 여기서 조건이 10^5 이니깐 O(n^2) 로 풀면 안된다고 하셨는데..for 문 안에 while 문이 있으니깐 결국 O(n^2) 아닌가요??temperatures 도 한번 훑고, stack 도 한번 훑으니깐 총 O(n^2) 이라고 생각했는데 잘못 이해하고 있나봐요 ㅜㅜ 시간복잡도 질문 - 밤의멜로디 님이 주신 질문에 대한 답변 내용이라면 while 문도 O(n^2) 이 아닌가 라는 생각이 듭니다..