묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간초과 이유가 궁금합니다.
실패http://boj.kr/07dc01c4e7c2492580934f84b3f2c8af성공http://boj.kr/6d68ec80a15341a09987a0a32f32fc8fdeque 하나만 써서 풀었습니다.BFS로 탐색하면서 빈공간이면 push_front, 친구를 만나서 멈춰야하면 push_back을 했고 각각 visit값을 동결, +1 해줬습니다. 그리고 목표지점에 도착했을 때 끝냈습니다.실패한 코드와 성공한 코드의 차이점은 하나 입니다. 시작지점의 visit값을 0으로 뒀는가 (미방문은 모두 0) 아니면 1로 두고 시작했는가 (첫 시작점의 visit을 1로 둔 것)둘 다 결과는 잘 나옵니다 (예제가 적어서 테스트할 게 적지만 bfs로 탐색하는거 따라가보면 제대로 작동합니다.) 하지만 시작지점의 visit을 0으로 뒀을 때는 귀신같이 시간초과가 나게 됩니다..;개인적으론 이런 알 수 없는(?) 시간초과나 메모리초과 때문에 백준이 너무너무 싫은데요 ㅠ 혹시 이것도 제가 생각못한 다른 이유가 있어서 시간초과가 뜬건지.. 궁금합니다.cin,cout 입출력 동기화는 쓰지 않았습니다만 인간적으로 그런걸로 정답/오답이 갈리는건 문제가 문제있다고 생각됩니다 (화가 나서 그런거 맞습니다 흑흑)
-
해결됨코딩테스트 [ ALL IN ONE ]
노션 공유 부탁드립니다
인프런 아이디 : dudrhkd4179@naver.com ( 카카오 로그인 )노션 이메일 : dudrhkd3892@gmail.com
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
문장속단어 강의에서 질문
String의 문장속단어 강의에서"int m = Integer.MIN_VALUE, pos;" 이부분이요. m이라는 변수에 Integer.MIN_VALUE이라는 상수값을 초기화하고,pos라는 변수는 선언만 한건가요? 풀어서 쓰면, "int m = Integer.MIN_VALUE; int pos;" 이거를 한 줄로 나타낸건가요???
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
while문을 이용하여 풀어 보았습니다.
<html> <head> <meta charset="UTF-8" /> <title>출력결과</title> </head> <body> <script> function solution(n) { let answer = 0; let i = 1; while (i <= n) { answer += i; i++; } return answer; } console.log(solution(10)); </script> </body> </html>
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-S dp 배열을 좀 더 이용해보려고 코드를 바꿔봤는데 틀렸습니다가 나오네요
아래는 맞는 코드입니다.http://boj.kr/1b13bda362154df9b5be8a26cad57c96이 코드를 개선해보려고 아래와 같이 코드를 짜보니 틀렸습니다가 나오네요.http://boj.kr/a6cbb7ca3b214df386ebb96214bc2785dp를 아직 잘 모르는데 선생님의 풀이를 보고 조금 더 횟수를 줄일 수 있지 않을까 해서 한번 바꿔봤는데요. 맞왜틀에 빠졌습니다... 도저히 혼자서는 이유를 찾을 수 없어서 질문드립니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-T 질문이 있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/64dbaea1720740bd91f3d12c2ccee13a 원래 코드를 변형을 해봤는데 왠지는 모르겠지만 틀려서 왜 틀렸는지 몰라서 질문을 드립니다. 예제 입력까지는 맞았습니다. 바뀐 부분은 원래는 main함수에서 go함수를 호출할 때 a[0]를 먼저 sum에 더해놓고 가는데, 제가 바꾼 코드에서는 a[0]를 더하지 않고 호출하는 부분에서 해당하는 idx의 a[idx]를 더했고 기저 조건도 idx-2에서 리턴하는 게 아닌 idx-1에서 리턴하게 두었습니다. 감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-개념강의 2792번 질문있습니다
http://boj.kr/ecb460dd765d43ae81d5747be4e066d2이분탐색이 전체에서 /2단위로 줄여서 루트2단위로 줄어들어 시간복잡도를 줄이려는 탐색방법인것까지는 이해가 가는데 mid를 지정해놓고 mid-1, mid+1 mid 이부분을 l, r, 각각 지정하는부분이 문제마다 헷갈려서 잘 이해가 안가네요 ㅜㅜ예전에도 비슷한문제로 머리가아팠던거같은데 설명해주시면감사하겠습니다
-
해결됨코딩테스트 [ 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 빨리 강의 자료 받아서 열심히 공부하고 싶은데 아직 자료를 못받았습니다 ㅠㅠ 강의 자료 부탁드립니다. 그리고, 좋은 강의 해주셔서 감사합니다 :)