묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 질문있습니다!
http://boj.kr/ba6ed0fbb18c4351a818827e1ef64b9e 메모리 초과가 뜹니다..어떤 부분이 잘못된 걸까요 ..?코드 상 오류는 없는 거 같아 더더욱 해결이 어렵습니다..
-
해결됨글로벌 개발자로 성장하는 < 코딩 실무 영어 /> 마스터 클래스
6:13 부분에 Fetch, Retrieve, Get 부분 질문있습니다.
Fetch, Retrieve, Get 다양한 예제 문장을 알려주셨는데요, 각 상황별로 써야할 동사가 다르다는 의미인지 비슷한 의미에 다양한 표현을 써주신건지 잘 모르겠습니다. 예를들어 예제 문장엔 Fetch동사는 Fetch data through the API를 써주셨지만 Fetch data through the database.혹은Retrieve data from the API 이런식으로도 사용 할 수 있는건가요?
-
해결됨글로벌 개발자로 성장하는 < 코딩 실무 영어 /> 마스터 클래스
1:45 쯤에 Declare와 Define 질문있습니다.
int a = 0; // Define a variable with initial value 0int b; // Declare a variable 이렇게 되는게 맞나요? 음성과 화면에서 메모리 할당이라는 표현을 하셨는데 좀더 확실히 이해하고 넘어가기 위한 질문입니다. 변수 선언시 초기값 여부에따라 메모리 할당 O X를 말씀하신거죠?
-
해결됨코딩테스트 [ ALL IN ONE ]
안녕하세요 공유해주신 노션이 열리지 않아 문의 남깁니다.
안녕하세요. 금일 노션 공유를 naver 이메일을 통해 받았는데요. 노션 자체를 제가 구글 아이디로 사용하고 있어서 그런건지 정확한 이유는 모르겠지만 노션이 열리지 않아서요. 혹시 bluesea9519@gmail.com으로 다시 보내주실수 있을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-B 정답코드에 대해 잘 이해가 안 됩니다.
https://www.acmicpc.net/source/share/c19e6a890efe4edcb2a98fedca33b37b안녕하세요. 4-b가 어려워 강의를 들었는데도 답지코드도 이해가 안되는 부분이 있어서 질문드립니다. 16번째 라인에 sum += min(cnt, n - cnt); 해당 부분이 이해가 잘 안 됩니다. cnt를 구하는 부분이나 n-cnt를 하는 부분은 열을 뒤집을지 말지를 결정하기 위해 필요한 값이라는 것은 알고 있습니다. 하지만 min(cnt, n-cnt)를 구하여 열을 뒤집을지말지를 결정해서 연산+1 을 하는 것이 아니라, 더한다는 의미가 어떤 것인지 잘 이해가 안 갑니다.또한 행을 뒤집으면 최적해가 이미 정해졌다는 것까지는 강의를 듣고 어렴풋이 알 것 같은데, 행을 뒤집는 연산에 대한 +1은 하지 않는지도 궁금합니다. (행을 두개 뒤집는다든지, 한 개 뒤집는다든지,, 등) min(cnt, n-cnt)를 더하는 것이 행과 열의 연산을 모두 포함하는 것 같기도 한데 원리(?)에 대해 이해하기가 어렵습니다. 도와주세요!!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
송아지 찾기 시간초과 질문
import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class FindCow { static int personPos; static int cowPos; static int[] idx = {5, 1, -1}; public static int solution(int n) { boolean[] visit = new boolean[10_001]; Queue<Integer> queue = new LinkedList<>(); visit[n] = true; queue.offer(n); int level = 0; while (!queue.isEmpty()) { int size = queue.size(); for (int i = 0; i < size; i++) { Integer curPos = queue.poll(); for (int k = 0; k < 3; k++) { int nextPos = curPos + idx[k]; if (nextPos == cowPos) { return level + 1; } if (nextPos < 10_001 && nextPos > 0 && !visit[nextPos]) { queue.offer(nextPos); visit[nextPos] = false; } } } level++; } return 1; } public static void main(String[] args) { Scanner in = new Scanner(System.in); personPos = in.nextInt(); cowPos = in.nextInt(); System.out.println(solution(personPos)); } }안녕하세요! 좋은 강의 항상 감사드립니다.강의 중, 송아지 찾기(BFS)에서 시간 초과가 떠서 확인해 보니, 강의에서 올려주신 코드와 딱히 다른 부분이 없어 보이는데 시간초과가 납니다. 왜 그럴까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-A 왜 틀렸는지 잘 모르겠습니다.
선생님 안녕하세요!최소값 확인오름차순모두 처리 했다고 생각하는데 1%에서 '틀렸습니다'로 나옵니다 ㅎㅎ...예제랑 제가 생각한 반례를 몇 가지 넣어보았으나 잘 통과하는 것으로 보입니다. 어떤 문제가 있을까요? 코드 링크 첨부드립니다.(변수명 너무 대충써서 죄송합니다..)https://www.acmicpc.net/source/74000922 항상 감사합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-I 타입 관련 질문드립니다.
모든 타입을 long long 타입으로 바꿨더니 성공을 하긴 했습니다!하지만 mid 부분을 int로 설정했을 경우엔 왜 안되는 것일까요...?mid가 아무리 커도 10억+10억보다는 작을 것이라 생각해서 int로 설정했는데, 이때는 오답이 나왔습니다...!!
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
2차원 DP 1번 문제
안녕하세요, 추가강의를 듣다가 2가지 질문사항이 생겨 다시 글을 쓰게 되었습니다.^^ 위 문제를 설명해주실 때,처음에 recur으로 접근하신 후 dp로 바꿔서 설명을 해주셨는데요,15:45 부분에서 설명해주신 내용 중return으로 인해 계산이 끝나지 않고 이웃 칸으로 이동해서 계속해서 계산을 이어가도록 하는 부분이return 0 을 return dp[y][x] 로 바꾸는 부분에 해당하는 것인지 질문드립니다. 또한, 마지막에 답을 출력할 때,print(max(map(max,dp))+1왜 +1을 해주는지 궁금합니다. [정답 코드]오늘도 감사합니다~
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
미로 탐색 문제 질문 있습니다.
미로 탐색에서 재귀에 진입하기 전 board에 표시를 할 때,boarr[nx][ny] = 1이 맞나요?해당 자리에 1로 표시를 해놓고 다음으로 넘어가는 개념이니까arr[x][y] = 1이렇게 하는게 맞지않나라는 생각이 드는데혹시 제가 잘못 이해를 한 걸까요?결과는 똑같이 나와서 의문이네요.// 강사님의 답 if(nx >= 0 && nx <= 6 && ny >= 0 && ny <= 6 && board[nx][ny] === 0){ board[x][y] = 1 DFS(nx,ny) board[x][y] = 0 } // 저의 답 if(nx >= 0 && nx <= 6 && ny >= 0 && ny <= 6 && board[nx][ny] === 0){ board[x][y] = 1 ★★★ DFS(nx,ny) board[x][y] = 0 ★★★ }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-A 한줄로 디버깅 하고 싶은데 혹시 이 부분 나눌 수 있을까요?
ret과 재귀로 호출하는 부분 최소 값으로 셋팅하는 결과를 실시간으로 보고 싶습니다. ret = min(ret, tsp(i, visited | (1 << i)) + dist[here][i]);이 부분 나눌 수 있을까요? int temp = tsp(i,visited | (1<<i)) + dist[here][i]);if(ret > temp) ret = temp;이런식으로 나누고 싶은데 어떻게 건드려야될지 모르겠습니다..
-
해결됨[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편
DFS 문제 하나 여쭤봅니다!..
강의를 들어보다가 백준 - 16964번 DFS 스페셜 저지 문제를 풀어 보았는데 여러개의 답이 나올 수 있는 경우를 특정하기가 어려줘 질문 남겨봅니다!..graph에서 순차적으로 나오는 경우는 답을 구할 수 있는데 그래프에서 랜덤한 방향으로 진행될 시 어떻게 해야되는지 궁금합니다!..제가 짜본 기본 코드입니다..ㅜㅜ 도움 부탁드립니다!import sys sys.setrecursionlimit(10**6) input = sys.stdin.readline # 함수 def dfs(idx): global visited, answer, graph, order visited[idx] = True answer[idx] = order order += 1 for i in graph[idx]: if not visited[i]: dfs(i) # 0. 입력 조건 N = int(input()) visited = [False] * (N+1) answer = [0] * (N+1) order = 1 graph = [[] for _ in range(N+1)] # 1. 그래프 받아오기 for _ in range(N-1): x, y = map(int, input().split()) graph[x].append(y) graph[y].append(x) # 2. dfs 수행 dfs(1) # 3. 출력하기 given = list(map(int, input().split())) # answer.sort() answer = answer[1:] if given == answer: print(1) else: print(0)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-P 질문
http://boj.kr/66b6d01488da4e168d9834f8bd0d6127저는 조합을 이용해서 풀어보았는데 이 문제는 완전탐색으로 푸는게 더 나은 방법인가요??
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
오답 원인 문의
import java.util.Scanner; public class 단어뒤집기 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); StringBuilder sb = new StringBuilder(); int num = sc.nextInt(); String text1 = sc.next(); String text2 = sc.next(); String text3 = sc.next(); text1 = sb.append(text1).reverse().toString(); sb.setLength(0); text2 = sb.append(text2).reverse().toString(); sb.setLength(0); text3 = sb.append(text3).reverse().toString(); sb.setLength(0); System.out.println(text1); System.out.println(text2); System.out.println(text3); sc.close(); } }단어 뒤집기 강의 듣기전 제가 짠 소스인데, 출력결과는 문제와 동일하게 나왔는데, 제출 시 오답나와서 어떤 예외가 있는건지 몰라 문의드립니다. 혹시 불필요한 소스가 있는지도 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-H 비트마스킹 질문 있습니다.
안녕하세요, 강의 잘 듣고 있습니다.문제를 읽고, 스스로 짜보고 있습니다.그런데 비트마스킹 부분에서 제가 생각한 것처럼 동작하지 않아 무슨 부분이 문제인지 궁금합니다.아무리 print를 찍어서 찾아보려고 해도 찾지 못해 질문드립니다. 문제 부분// DFS 함수 (18, 19번째 줄)if(a[y][x] & (1 << i)) continue;_ret += dfs(ny, nx); http://boj.kr/b423ee8869844758a31b0c3c5d67fd49
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
문자 찾기 코드 평
import java.util.Scanner; public class 문자찾기 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String text = sc.next(); String ch = sc.next(); int cnt = 0; for(char rs : text.toCharArray()) { if(ch.toUpperCase().equals(String.valueOf(rs).toUpperCase())) { cnt++; } } System.out.println(cnt); sc.close(); } }문자찾기 위 코드로 강의 전 스스로 푼건데 불필요한 소스부분이 있는지 평가 요청드립니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 p176 질문 드립니다
안녕하세요 큰돌님 😀 교안 p176에 10진법을 2진법으로 바꾸는 코드에서#include <bits/stdc++.h> using namespace std; vector<int> v; int main() { int n = 100; int b = 2; while (n > 1) { v.push_back(n % b); n /= b; } if (n == 1) v.push_back(1); // 마지막 몫이 1일 때 reverse(v.begin(), v.end()); for (int a : v) { if (a >= 10) // 이 조건은 16진법 변환을 위해 필요함. { cout << char(a + 55); // char(a + 55)에서 a가 10이면 char(65)가 되서 'A'가 된다. } // 16진법은 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}로 표현하는 방법 else { cout << a; } } return 0; }while문에서 조건을 n > 1로 하신 이유가 궁금합니다!while (n > 1) { v.push_back(n % b); n /= b; } if (n == 1) v.push_back(1); // 마지막 몫이 1일 때이 부분을while (n >= 1) { v.push_back(n % b); n /= b; }이렇게 바꾸면 문제가 생길까요?? 제가 n에 여러 값을 넣어봤을 땐 문제가 없었는데 반례가 있다면 알려주시면 감사하겠습니다!
-
미해결[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법
질문
println(testList4.filter{ it.startsWith("s")})의 { it에서{와 it를 뛰우는 이유가 무엇인가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
메모리 초과가 나는데 선생님 코드와 어디가 다른지 모르겠습니다..ㅠㅠ
#include <iostream> #include <algorithm> #include <cmath> #include <vector> #include <map> #include <queue> #include <string> #include <math.h> #include <cstring> #include <stack> using namespace std; int arr[3] = {}; int dmg[6][3] = { {1,3,9},{1,9,3},{9,1,3}, {9,3,1},{3,1,9},{3,9,1} }; int visited[64][64][64] = {}; struct A { int a; int b; int c; }; queue<A> mq; void BFS() { while (!mq.empty()) { int x = mq.front().a; int y = mq.front().b; int z = mq.front().c; mq.pop(); if (visited[0][0][0]) { break; } for (int i = 0; i < 6; i++) { int nx = x - dmg[i][0]; if (nx < 0) { nx = 0; } int ny = y - dmg[i][1]; if (ny < 0) { ny = 0; } int nz = z - dmg[i][2]; if (nz < 0) { nz = 0; } if (visited[nx][ny][nz] != true) { mq.push({ nx,ny,nz }); visited[nx][ny][nz] = visited[x][y][z] + 1; } } } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; for (int i = 0; i < N; i++) { cin >> arr[i]; } mq.push({ arr[0],arr[1],arr[2] }); visited[arr[0]][arr[1]][arr[2]] = 1; BFS(); cout << visited[0][0][0]-1; } 메모리 초과가 나는데 아무리 봐도 어디가 나는지 모르겠습니다ㅜㅜ..
-
해결됨글로벌 개발자로 성장하는 < 코딩 실무 영어 /> 마스터 클래스
3분 41초 첫번재 예문 질문있습니다.
When 대신 If를 써도 괜찮은 문장일까요?둘다 되지만 더 자연스러운게 When 인지요...? When the file appears in the directory, drag it into the trash.