묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이항계수
안녕하세요 선생님 https://www.acmicpc.net/problem/11050제가 이항 계수1 이라는 문제를 풀고 있는데, 이항 계수가 뭔지 잘 모르겠어서 질문 올립니다.이항정리에 대해서 검색도 해보았는데,를 어떻게 구해야 할까요?감사합니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
약수K, 시간 복잡도
요렇게 하면 시간 복잡도를 줄일 수 있을 것 같아욤. def input_function(line_string: str): n, k = map(int, line_string.split(' ')) half_value: float = n ** 0.5 temp_results: list[int] = [] for value in range(1, int(half_value) + 1): if n % value == 0: temp_results.append(value) final_results: list[int] = [] for i in temp_results: final_results.append(i) for i in temp_results[::-1]: final_results.append( 6 // i) if k > len(final_results): return -1 return final_results[k-1]
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-R 1068 질문 드립니다.(링크 수정하여 다시 올립니다)
선생님 죄송합니다. 링크 수정하여 다시 질문 드립니다.저는 Input 값을 받을 때, 부모 자식에 대한 꼬리표를 같이 매겨서 부모 = 1 / 자식 = 2 / 루트 = -1 이런 식으로 풀었는데요. 75 % 쯤에서 Fail이 뜨네요 ㅠㅠ어떤 문제가 있는 걸까요? 코드는 아래 링크에 있습니다http://boj.kr/457d11f9ac914b61b98f62c5f2a89554감사합니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
강의 교안 관련 getline() 질문
안녕하세요 큰돌님.알고리즘 교안 관련하여 질문 드립니다.교재 25p getline() 함수 본문에서 getline을 여러번 써야 되는 상황이 있다며 버퍼플러쉬를 하는 이유를 설명합니다.하지만 cin 과 getline을 동시에 사용하기 때문에 버퍼플러쉬를 하는 것이지 getline을 여러번 사용하는 것이 쟁점은 아닌 것 같습니다.큰돌님이 작성하신 코드도 cin이 입력을 받은 후 남은 \n개행 문자를 제거하기 위해 bufferflush를 하신 것으로 보입니다. 짧은 지식으로 생각해본 결과입니다만 같이 생각해보면 좋을 듯 하여 답변 부탁드리겠습니다.https://cplusplus.com/forum/articles/6046/
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-R 1068 질문 드립니다.
선생님 안녕하세요. 해당 문제 질문 드립니다.저는 Input 값을 받을 때, 부모 자식에 대한 꼬리표를 같이 매겨서 부모 = 1 / 자식 = 2 / 루트 = -1 이런 식으로 풀었는데요. 75 % 쯤에서 Fail이 뜨네요 ㅠㅠ어떤 문제가 있는 걸까요? 코드는 아래 링크에 있습니다.http://boj.kr/457d11f9ac914b61b98f62c5f2a89554
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-A 문제 질문
http://boj.kr/4fabcca5f4544fb2b645549a5d93d495질문1 : 입력을 여러 번 받게 되는데 어떻게 고쳐야 할까요?질문2 : 첨부한 사진은 예제 입력1을 복붙한 결과입니다. 정답인 15가 아닌 9로 나오는데 어디를 고쳐야 하는지 잘 모르겠습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-p14502 연구소 틀린이유가 있나요
https://www.acmicpc.net/source/54549263이 코드 입니다 ㅜ
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
리뷰 부탁드립니다!
이런 식의 풀이는 조금 더 안좋은 풀이 방식일까요? function solution(n, arr){ const answer = arr.filter((item) => String(item).charAt(1) === String(n)) return answer.length; } const arr=[12, 20, 54, 30, 87, 91, 30]; console.log(solution(0, arr));
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3주차 개념 강의에서 첫 문제(연구소_14502) 질문드립니다!!
안녕하세요 선생님ㅠㅠ제가 푼 코드를 실행시키니 틀렸다고 결과가 나왔는데 아무리 계속 원인을 찾아보고 디버깅도 해봐도 이유를 잘 모르겠습니다ㅠㅠㅜ 반례 중에 어떤 특정한 케이스에서 틀렸다고 판단된 것 같은데 혹시 무엇이 잘못되었는지 짚어주실 수 있으실까요..??항상 감사합니다 :)http://boj.kr/34786960e9b84876be27b66b0271ece2
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-K javascript 포팅 질문드립니다.
안녕하세요 강의 잘 듣고 있습니다. C++ 강의에서 js 질문을 드려도 될지 싶은데 일단 적어 보겠습니다. (프론트엔드 경력 코테 준비중이라 js 를 고집하고 있는중입니다.)3-K (백준 3197 - 백조의 호수)를 js 로 포팅 했는데 시간 초과가 발생하네요. 강사님 코드 로직을 그대로 적용 했다고 생각하는데 혹시 제코드에 빠트린게 있을지 궁금합니다. (제 눈에는 안보이네요 ㅠ)로직이 똑같은거라면 어느부분을 개선 해야될지 조언 좀 부탁드립니다. http://boj.kr/a9a2b9684a774eb3ad7e2efb5baf57d8
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
숙제 코드 리뷰 부탁드립니다.
이전 문제와 비슷하게 graph 인접리스트를 이용하고, ch 배열을 사용해여 이미 방문한 곳을 체크했습니다.import java.util.*; import java.io.*; class Main { static int answer = 0; static ArrayList<ArrayList<Integer>> graph; static int n, m; static int[] dis, ch; public static void bfs(int v) { Queue<Integer> Q = new LinkedList<>(); Q.offer(v); int L = 0; while (!Q.isEmpty()) { int len = Q.size(); for (int i = 0; i < len; i++) { int cur = Q.poll(); dis[cur] = L; for (int nv : graph.get(cur)) { if (ch[nv] == 0) { ch[nv] = 1; Q.offer(nv); } } } L++; } } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = null; st = new StringTokenizer(br.readLine()); n = Integer.parseInt(st.nextToken()); m = Integer.parseInt(st.nextToken()); graph = new ArrayList<>(); for (int i = 0; i <= n; i++) { graph.add(new ArrayList<>()); } for (int i = 0; i < m; i++) { st = new StringTokenizer(br.readLine()); int a = Integer.parseInt(st.nextToken()); int b = Integer.parseInt(st.nextToken()); graph.get(a).add(b); } ch = new int[n + 1]; dis = new int[n + 1]; ch[1] = 1; bfs(1); for (int i = 2; i <= n; i++) { System.out.println(i + " : " + dis[i]); } } }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-L 2852 NBA 문제 질문 드립니다.
선생님 안녕하세요.2-L NBA 문제 C++로 작성한 코드입니다.https://www.acmicpc.net/source/54522381맞게 푼 것 같다고 생각하는데 틀렸다고 나오네요제가 어떤 것을 놓쳤을까요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
exit_code1 오류코드
안녕하세요후위연산 채점 프로그램을 돌리면 exit_code1 오류코드가 나옵니다. 이 오류가 뭔지 알 수 있을까요?직접 int1~5까지 돌려을때는 정답 일치 하는데 프로그램 돌리면 exit_code1가 뜹니다.그나마 의심가는게 eval같은데 혹시 eval함수는 사용하면 안되나요?코드 첨부합니다. import sys #채점할떄는 주석 #sys.stdin=open('코딩테스트\input.txt','rt') n=sys.stdin.readline() stack=[] for i in n: if i.isdigit(): stack.append(int(i)) elif not i.isdigit(): b=stack.pop() a=stack.pop() stack.append(eval(f'{a}{i}{b}')) print(stack[0])
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요! 질문 있습니다!
좋은 강의 감사드립니다!헷갈려서 질문드립니다!해당 강의에서 소개해주시는 next_permutation과 makePermutation은 nPr을 구하는 식에서 n과 r의 값이 같은 경우에만 사용할 수 있는게 맞을까요?n = 3, r = 3인 경우에만 사용할 수 있는 것인지, n = 3, r = 2에서도 사용할 수 있는 것인지 궁금합니다. makePermutation()에서는 vector의 값과 r의 값을 변경해가면서 해봤는데 제가 생각하는 것처럼 동작하지 않아서 질문드립니다! 감사합니다!
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
함수 질문입니다!
강사님 강의가 너무 도움이 많이 됩니다. 감사합니다!구글 검색을 해도 잘 모르는 부분이라 이렇게 질문을 남깁니다.if __name__== ~~max_h=0 ;이렇게 1번 같은 구문으로 시작점을 알린다는 건 알겠는데 이걸 임포트 구문 다음에 바로쓰면 되는게 아닌가요? 어떤 상황에서 사용하는지 잘 모르겠습니다. 2번은 파이썬에서 ; 세미콜론은 굳이 사용하지 않는다고 배웠는데 왜 사용하신건지 궁금합니다! 명절 잘 보내세요!! 감사합니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
격자판 회문수 풀이
a=[list(map(int, input().split())) for _ in range(7)] res=0 def check(a): res=0 for i in range(3): temp=a[i:i+5] temp.reverse() if temp==a[i:i+5]: res+=1 else: res+=0 return res for i in range(7): temp=list([0]*7) temp2=list([0]*7) for j in range(7): temp[j]=a[i][j] temp2[j]=a[j][i] res+=check(temp) res+=check(temp2) print(res) 이렇게 풀어도 괜찮을까요??
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
효율성
안녕하세요 저는 정렬을 사용하지 않고 min,max를 이용해서 풀었는데 정렬로 푸는게 더 효율적일까요?코드 첨부합니다.while squre: if len(squre)==1: boat+=1 break if max(squre)+min(squre)>m: squre.remove(max(squre)) boat+=1 else: squre.remove(max(squre)) squre.remove(min(squre)) boat+=1
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
시간복잡도 O(2^N)인거는 상관없나요?
문제보면 배열 원소 크기 제한이 백만개 이하던데O(2^N)로는 너무 오래 걸리는 풀이 같아요.일단 지금은 DFS를 연습하는 정도로만 받아들이면 될까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-M 질문
if(stk.size()&&stk.top()==a)부분이 이해가 안가는데cin에 ABBABBAA를 입력하면 범위기반 for문을 통해 a가 ABBABBAA가 되어야한다고 생각하고stk.top()도 가장 마지막걸 참조하는거니까 제일 나중에 입력된 A가 참조되어야 한다고 생각하는데왜 cout으로 찍어봤을때 B가 나오는지 이해를 못하겠습니다..if(stk.size()&&stk.top()==a)이게 스택의 사이즈가 존재하면서 가장 마지막 스택이 a와 일치한다 라는건 알겠는데막상 찍어보면 왜 저런 결과가 나오는지도 모르겠습니다..강의도 돌려보고 교안도 계속보면서 cout 위치 바꿔가면서 찍어보는데 모르겠습니다.. 수정) for문이 끝나는게 아니고 중괄호로 if랑 이어져서알파벳 하나씩 독립적으로 적용해야 하는 사실을 깨달았습니다.그러면 차근차근 쌓이면서 붕괴된다는것을 이해했습니다.그러면 로직의 가장 처음에 A가 먼저 쌓일테니까 stk.top()이 A이고a는 ABBABBAA에서 가장 처음에 A를 데려오니까 붕괴된다라고 이해하기엔또 cout으로 B가 제일 먼저 찍히는데 진짜 이해를 못하겠습니다그냥 단순하게 B가 있는 상황에서 B가 들어오면 붕괴되는거 이해했는데이걸 코드로 바꾸면 왜 stk.top()==a인지 잘 모르겠어요..그걸 코드로 바꿨을때 a의 입장이 어떻게 변하는지 모르겠습니다a의 입장에서 로직이 어떻게 진행되는지 알려주세요 ㅠㅠ 수정) 처음에 size가 0이니까 A가 1층에 push되고A가 top인 상황에서 B가 입력되는데 A랑 B랑 다르니까 그 다음 B가 push되고이제 B가 top인 상태에서 B가 들어오려고 하는데 여기서 top==a가 되면서소거 되는게 맞나요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
자바스크립트 추가 강의
안녕하세요 강사님이 진행중이신 python이나 c++ 강의보다 javascript로 된 강의가 전체적으로 문제가 적은 것 같더라고요. 혹시 추후에 다른 강의들에 있는 내용을 javascript로 올려주실 계획이 있으신가해서 여쭤봅니다. 특히 추가적인 DFS, BFS에 해당되는 문제들이 있었으면 좋겠습니다!