묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
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 빨리 강의 자료 받아서 열심히 공부하고 싶은데 아직 자료를 못받았습니다 ㅠㅠ 강의 자료 부탁드립니다. 그리고, 좋은 강의 해주셔서 감사합니다 :)
-
해결됨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 나름의 방법대로 구현해봤는데, 반례를 찾기 어려워 질문드립니다. 좋은 강의 감사드립니다!