묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨코딩테스트 [ ALL IN ONE ]
심화강의 일정
안녕하세요, 강의 잘 수강하고 있습니다. 혹시 강의가 언제 다 올라올까요? 빨리 듣고싶습니다~
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
우분투에서 c++ 프로그램
운영체제를 우분투 쓰고 있는데 c++ 프로그램으로 vscode로 괜찮은가요?
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
널 포인터 에러
import java.io.*; import java.util.*; public class Main { static final int MAX = 100000 + 10; static ArrayList<Integer>[] graph; static boolean[] visited; static int[] answer; static int N, M, R; static int order; public static void dfs(int idx) { visited[idx] = true; answer[idx] = order; order++; for (int i = 0; i < graph[idx].size(); i++) { int next = graph[idx].get(i); if (!visited[next]) { dfs(next); } } } public static void main(String[] args) throws IOException { // 0. 입력 및 초기화 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st = new StringTokenizer(br.readLine()); N = Integer.parseInt(st.nextToken()); M = Integer.parseInt(st.nextToken()); R = Integer.parseInt(st.nextToken()); graph = new ArrayList[MAX]; for (int i = 1; i <= N; i++) { graph[i] = new ArrayList<>(); } visited = new boolean[MAX]; answer = new int[MAX]; order = 1; for (int i = 0; i < M; i++) { st = new StringTokenizer(br.readLine()); int x = Integer.parseInt(st.nextToken()); int y = Integer.parseInt(st.nextToken()); graph[x].add(y); graph[y].add(x); } // 2. 내림차순 정렬 for (int j = 0; j < N; j++) { Collections.sort(graph[j], Collections.reverseOrder()); } // 3. 재귀함수 출력 dfs(R); for (int k = 1; k <= N; k++) { bw.write(String.valueOf(answer[k])); bw.newLine(); } br.close(); bw.close(); } }해당 코드를 구현했는데, 널 포인터 에러가 뜹니다..! 어떤 부분에서 잘못됐는지 피드백 받고자 질문드립니다!감사합니다
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-A combi 메소드 시작 인덱스에 따른 시간초과 이유
안녕하세요 큰돌님! 다름이 아니라, combi 메소드를 생성할 때,for (int i = start; i < chicken.size(); i++) { arrayList.add(i); combi(i); arrayList.remove(arrayList.size() - 1); }이 부분에서 starting index를 0으로 하면 시간초과가 나는 반면,starting index를 -1로 설정한 후for (int i = start + 1; i < chicken.size(); i++) {/*...*/}이런 식으로 작성하면 문제없이 통과됩니다. -1에서부터 인덱스를 시작하면 combi 메소드를 호출하는 횟수가 0에서 시작하는 것보다 상당한 차이로 줄어드는데 혹시 그러한 이유를 알 수 있을까요..?혹시 combi 내에서 호출할 때에 for문에서 int i의 시작점이 변화 없이 그대로 진행되기 때문일까요.. 감사합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-F 시간초과 질문드립니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/3ab039616a084231ae90581c8e7d1ba8 비트마스킹과 백트래킹을 이용해 풀이해봤으나 시간이 초과되어 어떤 효율적이지 못한 부분이 있는지 궁금해 질문드립니다.풀이 아이디어는 전수조사를 할때, 어차피 26개중 K를 모두 배운 경우가 K개보다 적게 배운 경우보다 읽을 수 있는 단어가 많거나 같을 것이기 때문에 21개 중 K-5개의 알파뱃을 고르는 경우를 백트래킹을 이용해 찾으면 그것이 더 효율적이지 않을까 생각되어 시도해보았습니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
섹션 6에 장난꾸러기 질문 있습니다!
장난꾸러기 문제를 풀었는데 테스트케이스들은 잘 나오는데 채점을 돌리면 오답으로 나와서요,혹시 어디가 문제인지 확인해주실 수 있나요...?코드 텍스트는 아래에 첨부합니다!import java.util.Scanner; public class Kids { public static void solution(int[] arr){ StringBuilder sb = new StringBuilder(); int index = 0; for (int i = 0; i < arr.length-1; i++) { if(arr[i]>arr[i+1]){ if(index==0) { sb.append(i+1).append(" "); //철수 index++; } else sb.append(i+2).append("\n"); //철수 짝꿍 } } System.out.println(sb); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) arr[i] = sc.nextInt(); solution(arr); } }
-
해결됨코딩테스트 [ ALL IN ONE ]
노션 공유 계정
안녕하세요원래 노션 공유 받았던 계정이 회사 계정으로 넘어가게 되면서 사용하지 못하게 되었습니다.코딩테스트 all in one 계정 노션 다시 공유 받고 싶습니다! 이메일은 kdlatnrud123@naver.com 입니다! 감사합니다.
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
[완전탐색] 14568번 문제 문의
안녕하세요! 강의를 듣다보니 궁금한게 생겨서 문의남깁니다! 9:46분에서 A,B,C가 현재 (0,candy +1)로 반복문을 돌고있는데요! 문제 조건에서는 셋중 사탕을 하나도 못받는 친구는 없어야합니다" 라는 조건을 만족시키기 위해 (0,candy +1) -> (1,candy +1) 로 변경해서 한다면 완전탐색적방법으로 생각하는게 위배되는걸까요! 모든 경우의수를 확인을 해야 하니깐 0도 포함을 해서 문제를 풀어나가는게 맞는건지! 궁금했습니다! 강사님 말씀대로 완전탐색적인 방법이 저랑 뭔가 잘맞는거같아서 익숙해지려고 하고있습니다:)감사합니다!
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게 풀어도 되는지 모르겠습니다
import sys sys.stdin=open("input.txt","rt") n=int(input()) ls=list(map(int, input().split())) res=[0]*n for i in range(n): check = ls[i] count = 0 for j in range(n): if res[j] == 0: if count == check: res[j] = i + 1 break else: count += 1 for x in res: print(x, end=" ")
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7 - K 문제 질문입니다.
좋은강의 감사합니다 선생님!해당 문제에 똑같은 질문이 있었는데 이해가 되지 않아서 질문드립니다.. 메모이제이션 부분에int &ret = dp[y][x][cnt][prev]; if (ret != -1) return ret; ret = 0;에서 ret = 0; 으로 초기화하는 이유를 모르겠습니다.질문 답변에서는 리프노드에서 -1을 return 하면 안되기 때문에 초기화를 해주어야 한다고 하셨는데, 리프노드에서는 기저사례에 걸리기 때문에 반드시 1 아니면 0을 리턴해주지 않나요?그래서 ret = 0을 초기화 해주지 않아도 0 또는 1을 반환되는것을 더하여 넘겨주는 것으로 이해하고 있는데 어떤 부분을 놓치고 있는지 잘 모르겠습니다ㅠㅠret = 0부분을 주석처리하고 예제 입력을 넣었을 때 예제2)6 4 2 5 3 3 2이 입력만 정답과 다른답이 나옵니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
아래 질문 링크 재공유>> 해결했습니다.^^;;
.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-B bfs를 반환형을 int로 해서 풀려고 하는데 틀립니다.
http://boj.kr/d137e4b306b742969928aca1cf5ed00f 선생님 안녕하세요. 풀이과정과 다르게 bfs반환형을 int로 만들어 풀려고 했지만 통과되지가 않습니다. 풀이랑 비교해도 비슷한거 같은데 다른부분을 잘 모르겠습니다.
-
해결됨코딩테스트 [ ALL IN ONE ]
강의자료 부탁드립니다!
노션 이메일 : 20185158@hallym.ac.kr 빨리 강의 자료 받아서 열심히 공부하고 싶은데 아직 자료를 못받았습니다 ㅠㅠ 강의 자료 부탁드립니다. 그리고, 좋은 강의 해주셔서 감사합니다 :)
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2%만 맞고 틀리네요..
https://www.acmicpc.net/source/67720015제 알고리즘에 강사님코드를 추가했습니다.bfs를 main에서 사용할 생각을 처음엔 못하고 불의위치만 bfs코드를 따로 떼어내서 구현한 것 빼고는비슷합니다..
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
백준 2503 숫자야구 문제 어떤 부분이 잘 못되었는지 모르겠습니다
강의를 본 후에 아래와 같이 코드를 작성한 후백준에 제출했는데 왜 틀렸는지 이유를 모르겠습니다 N= int(input()) hint = [list(map(int,input().split())) for _ in range(N)] answer =0 for a in range(1,10): for b in range(10): for c in range(10): if(a==b or b==c or a==c): continue cnt =0 for arr in hint: number = list(str(arr[0])) ball = arr[1] strike = arr[2] ball_count = 0 strike_count =0 if(a== int(number[0])): strike_count+=1 if(b== int(number[1])): strike_count+=1 if(c== int(number[2])): strike_count+=1 if(a== int(number[1]) or a == int(number[2])): ball_count+=1 if(b== int(number[0]) or b == int(number[2])): ball_count+=1 if(c== int(number[1]) or c == int(number[0])): ball_count+=1 if ball_count == ball and strike_count == strike: cnt += 1 if cnt == N: answer=+1 print(answer)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-E 반례 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/39c15e9338ad4585955d4d9f7453c741 나름의 방법대로 구현해봤는데, 반례를 찾기 어려워 질문드립니다. 좋은 강의 감사드립니다!
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
삼항연산자를 이용해서 풀어 보았습니다
삼항 연산자를 이용하여 가장 큰 수 를 구하고, 전체 수를 더한값을 뺀 후 나머지 2개의 숫자의 합을 구해서 비교하여 "YES"와"NON"를 구해 보았습니다.<!-- 삼각형 판별하기 --> <html> <head> <meta charset="UTF-8" /> <title>출력결과</title> </head> <body> <script> function solution(a, b, c) { let answer; const longLine = a > b ? (a > c ? a : c) : b > c ? b : c; const totalLine = a + b + c; const remainder = totalLine - longLine; answer = longLine < remainder ? "YES" : "NO"; return answer; } console.log(solution(7, 5, 2)); </script> </body> </html>
-
해결됨[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편
백준 11724 연결 요소의 개수 문제
선생님 안녕하세요일단 너무 만족스러운 강의 준비해주셔서 감사하고 정말 돈이 하나도 아깝지 않은 강의입니다. DFS 강의 말고도 다른 알고리즘 강의도 준비해주시면 너무 좋을것 같아요 ㅠㅠ 아무튼 질문은요,선생님 강의를 듣고 아래처럼 제가 코드를 짰는데선생님 코드랑 몇번을 비교해도 다른 점이 보이질 않는데 백준에서 제출했을 때 계속 메모리 초과라고 나옵니다.혹시나 제가 바보같은 실수를 했을 수 있으니 미리 사과드립니다 ㅠㅠ!! 감사합니다 import sys sys.setrecursionlimit(10**6) N, M = map(int, sys.stdin.readline().split()) MAX = 1000 + 10 graph = [[False] * MAX for _ in range(MAX)] visited = [False] * MAX answer = 0 for _ in range(M): u, v = map(int, sys.stdin.readline().split()) graph[u][v] = True graph[v][u] = True def dfs(idx): visited[idx] = True for i in range(1, N + 1): if not visited[i] and graph[idx][i]: dfs(i) for i in range(1, N + 1): if not visited[i]: dfs(i) answer += 1 print(answer)
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
[완전탐색] 1090번 문제 문의
안녕하세요. 강사님!완전탐색적방법으로 접근하는 방법을 익히고싶은데 이해하고 있는게 맞는지 궁금해서 질문남겼습니다!24:10분쪽 내용을 보면서 궁금한 내용이 있습니다! 만약에 x축[] 짱구:5, 철수:7 , 맹구:9 일때 문제 조건에 제시된 1 - 1_000_000까지 전체 순회를 하면서 1번 위치일때 짱구: 1 - 5, 철수 : 1 - 7, 맹구: 1 -9 2번 위치일떄 짱구: 2 - 5, 철수 : 2 - 7, 맹구: 2 -9 x[] 원소를 기준으로 쭉 1_000_000까지 모든경우의수를 다구하는게 맞는지 궁금합니다. 최적화 아이디어를 하기전 완전탐색적인 방법을 제대로 이해하고있는지 체크하기 위함입니다! 감사합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-D 매개변수로 넘기면 왜 안빼도 되는거죠?
ㅠㅠ