묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
문제 2-2
안녕하세요 선생님 열심히 알고리즘 강의 수강하고 있는 학생입니다.다름이 아니라 질문드릴게 있어서 글 쓰게 되었습니다.섹션 2의 2번째 문제에서 for i in range(T): n,s,e,k = map(int,input().split()) a=list(map(int,input().split())) a=a[s-1:e] a.sort() print("#%d %d" %((i+1),a[k-1]))코드를 이렇게 짰습니다. 이렇게 짜면 맞지만, 저 코드중 굵게 표시한 곳을 붙여서 a=a[s-1:e].sort() 라고 붙여쓰면 오류가 납니다.구글링을 해봐도 알 수 없기에 질문 드렸습니다.감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
map 질문드립니다.
vector<int> v{1,1,2,2,3,3};에서 map을 이용해서 중복제거하셨던데for(int i : v){ if(mp[i]){ continue; }else{ mp[i] =1; }} i에 순서대로 1,1,2,2,3,3이 들어가는거까진 알겠는데이 for문을 돌면 map에는 1,2,3이 어떻게 들어가는건지 이해가 잘 안가네요 ㅠㅠ첫번째 mp[1]이 들어가면 else로 들어가서 mp[1] = 1이 들어가고 다음 i=1이 들어가면 if(mp[1])에서 1이 있으므로 true이고 continue로 들어가는건 알겠습니다.i=2가 들어가면 이때부터if(mp[2])에서 여기부터 이해가 잘 안갑니다. 어떻게 mp[2]에 2가 들어가는지요..
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
04-03 매출액의 종류 System.out.printf
04-03 매출액의 종류 문제를 풀던 중,System.out.print() 로 출력하면 정답 처리가 되던 부분이System.out.printf()로 출력 할 경우 time exceed 처리가 됩니다. System.out.printf()의 문제인지 궁금합니다.. 아래는 타임아웃된 소스코드인데,강의자료에서 출력문만 변경 한 것입니다. ======================================================== import java.util.*;class Main { public ArrayList<Integer> solution(int n, int k, int[] arr){ ArrayList<Integer> answer = new ArrayList<>(); HashMap<Integer, Integer> HM = new HashMap<>(); for(int i=0; i<k-1; i++){ HM.put(arr[i], HM.getOrDefault(arr[i], 0)+1); } int lt=0; for(int rt=k-1; rt<n; rt++){ HM.put(arr[rt], HM.getOrDefault(arr[rt], 0)+1); answer.add(HM.size()); HM.put(arr[lt], HM.get(arr[lt])-1); if(HM.get(arr[lt])==0) HM.remove(arr[lt]); lt++; } return answer; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); int n=kb.nextInt(); int k=kb.nextInt(); int[] arr=new int[n]; for(int i=0; i<n; i++){ arr[i]=kb.nextInt(); } for(int x : T.solution(n, k, arr)) System.out.printf("%d", x); }}
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
[응급실] 질문 드립니다.
선생님 안녕하세요응급실 문제를 제가 처음 푼 방식대로 채점을 받아 보았는데,문제에 있는 예시 문제는 제대로 통과가 되었는데요.채점 사이트 내에 있는 예시는 오답이 나와 질문 드립니다. 같은 위험도를 가진 수가 나오는 경우) idx가 작거나 같으면 answer++;하는 방식으로 문제를 구현하였습니다.public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int M = 0; Queue queue = new LinkedList(); for (int i=0; i<n; i++){ int a = sc.nextInt(); queue.offer(a); if(i == m){ M = a; } } System.out.println(solution(n,m,M,queue)); } private static int solution(int n, int m, int M, Queue queue) { int answer =0; for (int i=0; i < n; i++){ int que = (int)queue.poll(); if(que > M){ answer++; } else if(que == M && i <= m){ answer++; } } return answer; } }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-S
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <algorithm> #include <map> #include <set> #include <vector> #include <queue> #include <cstring> int N, M; int cache[10001] = {-1,}; int traverse(std::map<int, std::vector<int>>& treeMap, int node) { if (treeMap.find(node) == treeMap.end()) { cache[node] = 1; return 1; } if (cache[node] != -1) { return cache[node]; } int sum = 0; std::vector<int> v = treeMap[node]; for (int i = 0; i < v.size(); ++i) { int tmp = traverse(treeMap, v[i]); sum += tmp; } cache[node] = sum + 1; return sum + 1; } int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr); std::cin >> N >> M; memset(cache, -1, sizeof(cache)); std::map<int, std::vector<int>> treeMap; for (int i = 0; i < M; ++i) { int from, to; std::cin >> to >> from; if (treeMap.find(from) == treeMap.end()) { std::vector<int> v; v.reserve(N); v.push_back(to); treeMap[from] = v; continue; } treeMap[from].push_back(to); } std::map<int, std::vector<int>> countMap; int maxCount = 0; for (auto iter : treeMap) { const int startNode = iter.first; memset(cache, -1, sizeof(cache)); int nodeCount = traverse(treeMap, startNode); maxCount = std::max(maxCount, nodeCount); if (countMap.find(nodeCount) == countMap.end()) { std::vector<int> v; v.push_back(startNode); countMap[nodeCount] = v; continue; } countMap[nodeCount].push_back(startNode); } for (int i = 0; i < countMap[maxCount].size(); ++i) { std::cout << countMap[maxCount][i] << " "; } std::cout << std::endl; return 0; }답이 틀렸다고 나오는데 어디서 왜 틀렸는지 잘 모르겠습니다. 혹시 이 부분을 설명해주실 수 있으실까요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
01-01. 문자찾기에서 부호 >= 와 > 의 차이가 궁금합니다.
선생님 안녕하세요. 01-01. 문자찾기 문제를 푸는 중에 궁금한 점이 생겨서 질문 드립니다. import java.util.Scanner; public class Ch01_1 { public int solution(String s, char c) { int solution = 0; s = s.toUpperCase(); c = Character.toUpperCase(c); for(int i=0 ; s.length() > i; i++ ) if(s.charAt(i)== c) solution++; } return solution; } public static void main(String[] args) { Ch01_1 ch = new Ch01_1(); Scanner sc = new Scanner(System.in); String s = sc.next(); char c = sc.next().charAt(0); sc.close(); System.out.println(ch.solution(s,c)); } }여기서 상단의 for(int i=0 ; s.length() > i; i++ ) 부분에서 궁금한 점이 있는데요 ! 선생님이 알려주신 풀이인 s.length() >= i 가 아니라 s.length() > i로 풀면 아래와 같이 오류가 뜨는데, 이유가 궁금해서요 ! ! >= i 랑 > i 랑 큰 차이가 있는건가요? 반복횟수랑 문자열 s의 길이가 '같거나 작을 경우' 라는 조건은 안되는걸까요?? (오류 사진입니다.)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
강의 내용 정리
코딩 테스트 준비를 처음하는 취준생입니다. 다름이 아니라 학습 내용 정리 및 학습을 했다는 나름의 증명으로 개인 blog에 내용을 정리하고자 합니다.코드랑 수업 내용 일부분을 캡쳐 해서 블로그에 사용해도 되는지 궁금해서 질문을 남깁니다.출처는 반드시 밝히겠습니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
알고리즘 교안 하루만에 다 봤는데요.,
c# 4년차입니다. 비전공자입니다.c++로 알고리즘 풀어보려고 일단 교안은 코드 쳐보면서 다 보았습니다.다만, 이해가 안가는 부분도 중간중간에 있지만 일단 한번은 훑어보았습니다.(비전공자라..쉽지는 않네요)지금상태에서 바로 0주차부터 강의들어도 될까요??
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
dev c++ 자체 오류..
어제 강의 결제하고 오늘부터 시작하려는데 이렇게 뜨고 다른 코드도 전부 안되네요..
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
아래 코드와 같이 구현해도 시간복잡도는 같을까요?
function solution(m, arr) { let answer = 0; let n = arr.length; let p1 = 0; let p2 = 1; let tmp = arr[p1] + arr[p2]; while (p2 < n) { if (tmp === m) { answer++; tmp = tmp - arr[p1++] + arr[++p2]; } else if (tmp < m) { tmp += arr[++p2]; } else { tmp -= arr[p1++]; } } return answer; } let a = [1, 2, 1, 3, 1, 1, 1, 2]; console.log(solution(6, a));
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
log(2n+1) 이 아니라 log2의(2n) 아닌가요?
갑자기 2n+1 이 왜 나온지 모르겠습니다...
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-B, 기타레슨
for(int i = 0; i < n; i++){ if(mid - a[i] < 0){ mid = temp; cnt++; } mid -= a[i]; } if(mid != temp) cnt++;이 부분이 아무리 봐도 들어도 이해가 안됩니다...ㅠㅠ그리고 rt를 누적합으로 둬야되는 이유도 잘 모르겠습니다.누적합을 이분탐색으로 mid를 두는것이 크기를 정한다는 의미도 뭔가 와닿지 않습니다..
-
미해결제주코딩베이스캠프 Code Festival: Python 100제
41번 문제 질문입니다.
def chech_prime(n):if n <= 1:return "NO"i = 2소수 = Truewhile (i**2) < n:if n % i == 0:소수 = Falsebreaki += 1if 소수:return "YES"else:return "NO"print(chech_prime(4))4를 넣었을 때 'NO'가 아니라 'Yes'가 나옵니다. while (i**2) <= n: 여기에 등호를 추가해야 하는거 아닌가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
현대엔지비(Softeer) 코딩 테스트 관련해서
Language가 GNU C++ 17인데 #include<bits/stdc++.h>라이브러리 사용 가능한거죠??
-
해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
sum == int(total/2)
선생님께서는 sum==(total-sum) 을sum == total // 2로 바꾸면 홀수일 때 문제가 생긴다고 하셨는데만약 sum == int(total / 2)로 코드를 짜도 잘 작동할까요?감사합니다.
-
미해결코딩테스트 실전 모의고사(with C++) : 대기업 대비
로컬 환경과 다르게 오답이라고 나와서 문의 드립니다.
안녕하세요!우선 수업 굉장히 잘 듣고 있습니다! 도움이 많이 되네요!금일 문제를 풀고 있는데 제 로컬 환경에서는 아웃풋이 잘 나오는데 채점 사이트에서 답이 제대로 안나와서요..채점 사이트에 문제가 있는걸까요~?어제까지는 결과가 잘 나왔었어서 로컬 환경은 바뀐게 없습니다..아래 문제 목록 및 현상입니다. 도움 부탁 드립니다문제 : 5. 톰과 제리(BFS)해당 ID : d7a123cc4487문제 현상 : 채점 결과에 리턴값이 몇백줄 공란으로 나온 다음에 결과값이 프린트 되고 있습니다. 문제 : 4. 스도쿠(DFS 활용)해당 ID : ce811046b640문제현상 : 채점결과가 아예 나오지 않고 있습니다.
-
해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
DFS와 For문
DFS, BFS강의를 보고 있는데,왠지 DFS 문제를 다중 for문을 이용해도 되는건지 궁금해서 질문 올립니다.DFS문제를 for문을 이용해서 풀어도 되는건가요?섹션 6의 중복 순열 구하기는 for문도 될 것 같아서 여쭤봅니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-S 1325번 효율적인 해킹 문제 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.http://boj.kr/d5dbeef9edfd46d4b6ca8eda86668fcd문제는 해결했는데 궁금한 점이 생겨 질문 드립니다.23번째 줄에서 배열 초기화 할 때 fill함수가 아닌 memset함수를 사용해야 하는 이유가 궁금합니다.fill함수를 쓰면 출력 결과가 안 나오는데 어떤 문제 때문에 그런건지 궁금합니다. 코드에 문제가 있는 건가요? -> fill(&visited[0], &visited[0]+10001*10001, 0);
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-R 문제 질문있습니다..
우선 제가 작성한 코드링크는 다음과 같습니다. (주석 포함)http://boj.kr/5cf259ef97444ada8ad4e9391096d3b90번 노드가 root 가 아닌경우루트 노드가 삭제되는 경우 => result = 0루트 노드가 단독으로 남는 경우 => result = 1까지 고려해서 케이스 분류를 잘게 하여 작성을 했는데...결과가 틀렸다고 나와서 어느 부분을 놓쳤는지 통 모르겠습니다 ㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-H 코드 질문..!
안녕하세요 큰돌님늘 강의에 신경써주셔서 감사합니다. 2-H, 2659번 비밀번호 발음하기, 코딩하다가 틀렸다고 나와서.. 질문드리려고 합니다. 문제에 대한 강의도 확인했구요. 로직도 이해한 상태입니다.그런데 제 코드를 봤을 땐, 어디서 오류가 났는지.. 반례를 도저히 못 찾겠어서 글을 써 봅니다. 혹시 제 코드에서 로직 오류가 있는지 피드백 주실 수 있으실까요?코드 길이나, 반례 등 어떠한 피드백 전부 환영입니다. 제 코드는 링크로 첨부하겠습니다.감사합니다. http://boj.kr/b1f8019ccf3d4f03ac0de822cb532282