묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 2편
블로그 작성 시, 저작권 문제에 대하여
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]공부한 내용을 블로그(노션)에 작성하려 하는데, PDF에 있는 그림 이미지 같은 것들을 캡쳐해서 사용해도 괜찮을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
학습 방법 문의 드립니다.
안녕하세요 큰돌님.이런 질문 드려 죄송하지만 학습방법에 문의가 있어 질문드립니다. 제 상황에 대해 먼저 설명드리자면 저는 컴퓨터공학 석사과정 학생이고, 이번이 마지막 학기입니다.즉 졸업논문 준비와 취준을 병행하고 있는 상황입니다.그래서 평일에 5시간정도, 주말은 모두 코딩테스트 준비에 할애할 수 있습니다.저의 목표는 삼성전자와 SK하이닉스의 코딩테스트입니다.제가 이 질문을 드리는 이유는 삼성전자 채용이 작년보다 2주 빨리 나오는 바람에 시간이 촉박해졌습니다 ㅠㅠ 현재 2주정도의 시간이 남은 것 같습니다. 제조업이다보니 네카라쿠배당토와 같은 IT기업보다는 난이도가 쉬운 것으로 알고 있는데요.삼성전자는 두문제가 출시되고 구현 자체에 대한 문제가 1번으로 나오고 2번 문제는 알고리즘 문제가 나온다고 합니다. 하지만 저의 진도는 이제 비트마스킹을 시작한 상황입니다....큰돌님이 중요한 유형만 모아서 만드신 강의라는 것을 잘 알고 있지만 시간이 촉박하다보니 질문드립니다. 비트마스킹 강의를 듣다보니 이 유형이 필수인가? 아니면 알고 있으면 더 좋은 것인가? 라는 생각이 듭니다. 남은 기간동안 이 주차 강의는 꼭 들어야한다! 이렇게 추천해주실수 있으실까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-P, 코드 리뷰 부탁드립니다.
0강때 연구소문제 언급하셔서 기대했는데스스로 풀수있어서 짜릿했습니다https://www.acmicpc.net/submit/14502/98632716
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-O 이중for문의 j처리에 대해 질문드립니다.
안녕하세요 큰돌님 go함수의 이중for문에서 의문이 있어 질문드립니다. int i=here로 세로축(가로선범위)에는 제약을 걸었고, main함수에서 go(1, 0)으로 함수를 시작하는 것을 확인했습니다.하지만 가로축(세로선범위)는 int j=1로 시작합니다.그리고 visited는 오직 가로선을 놓을 수 있는지 없는지만 판단하죠.visited[i][j] = 1;go(i, cnt + 1);visited[i][j] = 0;이 line에 의해서 j=1 상황은 빠져나온 후 (here, j=1) 일때를 지나서 (here, j=2)일때 go함수가 실행된다면 다시 이중for문으로 들어와 j=1일때 go를 실행할 것입니다. 그렇다면 j에 의해서는 조합의 경우의 수가 아니라 순열의 경우의 수만큼 go함수 호출이 발생할 것입니다. 그래서 j에도 1부터 탐색하는게 아니라 현재위치부터 탐색하도록 만들어야하는 것이 아닐까요??논리적으로 정답은 똑같아서 정답처리 되었지만 시간 상 더 오래걸릴 수 있지않을까 라는 생각이 들었습니다. 제가 잘못생각하고 있는것인지 궁금하여 질문드립니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
완탐과 원복 예제
go 함수에 대한 질문입니다. go 함수에서 here을 방문 처리하고, push_back하는 과정을 사진과 같이 for문 바깥에 위치 시켰을 때에 어떠한 문제점이 있나요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-B 1285 질문 있습니다!
안녕하세요 선생님! ㅎㅎ 저는 고의로, 시간 초과가 나는 코드를 아래와 같이 작성해보았습니다. (주석은 테스트했던 흔적)http://boj.kr/c3476a1df6d647de81b2d85f187f35e0 그러나 제 기대와는 달리, 시간 초과가 나지 않고 1%에서 바로 '틀렸습니다' 가 뜨더라고요. 이 말은 즉 코드 자체의 로직이 잘못되어 테스트케이스를 통과하지 못하는건데 그 이유가 뭔지 잘 안 찾아져서 여쭤보러 왔어요.(count세는 함수, arr의 뒤집기 등이 잘 안 동작하는지 확인해봤는데 다 잘 동작하는 것 같아서 더 의문이에요) 어떤 부분이 잘못되었길래, 아예 테스트케이스를 통과하지 못하는 것일까요..?
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
큐에 항상 하나의 값만 들어가는데 문제풀이에 bfs를 떠올리신 이유가 궁금합니다.
몇 챕터/몇 강을 수강 중이신가요? 4.9어떤 알고리즘을 학습하고 계신가요? bfs, 숙제 두번째 청소기 문제여기까지 이해하신 내용은 무엇인가요? 문제 풀이 강의 보면서 같이 풀고, ai 사용해서 공부한상태, 일주일 뒤에 다시 풀 예정입니다큐에 들어가는 값이 항상 하나밖에 존재하지 않는데 큐를 사용하시는 이유가 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
당근마켓 문제 질문있습니다!
안녕하세요 큰돌님 BFS강의 누구보다 쉽게 알려주셔서 감사합니다. 강의를 듣던 중 질문이 생겼는데요.개념 및 교안에서 최적의 거리는 visited[목적지] -1 을 하셨는데,당근마켓 문제에서는 visited[목적지y][목적지x] -1을 하지 않으신 이유가 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
당근마켓 엔지니어 문제 질문!
안녕하세요 코드를 짜던중에 뭔가 의도대로 안되어 질문드립니다.문제를 보고 생각해서 아래와 같이 만들었는데요.이후 쌤의 정답과 비교해도 어느 부분이 달라서 의도대로 안되는지 궁금합니다. #include <bits/stdc++.h> using namespace std; int n, m, ret, qx, qy, nx, ny, sx, sy, cx, cy; int visited[101][101]; int a[101][101]; vector<int> adj[101]; int dy[] = {-1, 0, 1, 0}; int dx[] = {0, 1, 0, -1}; void bfs(int y, int x){ queue<pair<int,int>> q; visited[y][x] = 1; q.push({y, x}); while(q.size()){ tie(qy, qx) = q.front(); q.pop(); for(int i = 0; i < 4; i++){ ny = qy + dy[i]; nx = qx + dx[i]; if(ny < 0 || ny >= n || nx < 0 || nx >= m || a[ny][nx] == 0) continue; if(visited[ny][nx]) continue; visited[ny][nx] = visited[qy][qx] + 1; q.push({ny,nx}); } } } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> m; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ cin >> a[i][j]; } } cin >> sy >> sx; cin >> cy >> cx; bfs(sy,sx); cout << visited[cy][cx] << "\n"; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ cout << visited[i][j] << ' '; } cout << "\n"; } }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
조합 표현 방식 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님 ! 조합을 직접 그려보라고 하셔서, 직접 그림으로 표현해보다 궁금한게 생겨 질문드립니다. 타고 내려가다가 c(2, [0,1,2]) 해당 부분에서 , start = 1 i=2 인 상태에서 b.pop_back()을 진행하면, 백터 b에만 영향을 미치는거 아닌가요? 왜 i--를 해주지 않아서 i =2로 그대로 남아 있는데, C(3, [0,1,3])이 될 수 있는지 궁금합니다 .ㅠㅠ
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
20강 소수 에라토스테네스의 체 런타임 에러가 뜹니다
강사님 풀이대로하고 코딩채첨을 했더니 런타임 에러가 뜨네요import java.util.Scanner; public class Main { public int solution(int n) { int answer = 0; int[] isPrime = new int[n + 1]; for (int i = 2; i <= n; i++) { if (isPrime[i] == 0) { answer++; for (int j = i * i; j <= n; j += i) { isPrime[j] = 1; } } } return answer; } public static void main(String[] args) { Main m = new Main(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.println(m.solution(n)); } }이렇게 하고 그대로 복붙했더니 런타임 에러가 뜹니다.
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
링크드리스트 중간에 삽입 삭제 연산
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 3주차어떤 알고리즘을 학습하고 계신가요? 링크드리스트여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 노션에서 링크드 리스트 중간에 삽입 삭제가 O(1)이라고 되어있는데 삽입을 특정위치에 하기위해서 get_node()로 순회를 해야하기 때문에 O(N)이 아닌가 궁금합니다. 혹시 놓친 부분이 있는걸까요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
삼성전자 코딩테스트 대비할 때
안녕하세요 선생님, 저는 제목과 같이 1순위 희망 기업은 삼성전자이고 이후에도 제조업 기반의 회사 코딩테스트를 보게 될 거 같은데, 현재 학습하고 있는 4주차 비트마스킹을 우선적으로 학습하는 게 좋을지 아니면 그 뒤에 이분탐색이나 DP같은 문제를 먼저 학습하는 게 좋을지 여쭤보고 싶습니다. 감사합니다.
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
교재 오류
안녕하세요 딩코딩코님!알고리즘 강의 잘 보고 있습니다ㅎㅎ다름이 아니라, 교재의 2주차 9번 재귀함수 단원에 팩토리얼 문제의 Java와 JS 답안이 60초 카운트 하는 코드로 잘못 첨부된 것 같아 질문 남깁니다!(우선 답은 파이썬 버전으로 확인했습니다!)좋은 강의 덕분에 개념부터 차근 차근 잘 익혀나가고 있습니다ㅎㅎ 감사합니다!
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
dfs 부문을 이렇게 작성해도 되나요?
import java.util.*; import java.io.*; public class jelly { static int size; static int[][] map; static boolean[][] visited; // //size,size도달하면 HaruHaru, 아니면 hing public static void dfs(int y, int x){ visited[y][x] = true; if(y == size && x == size) return; int n = map[y][x]; if( (x + n) <= size && !visited[y][x+n]) dfs(y,x+n); if( (y + n) <= size && !visited[y+n][x]) dfs(y+n,x); } public static void main(String[] args)throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); size = Integer.parseInt(br.readLine()); int Max = size +10; map = new int[Max][Max]; visited = new boolean[Max][Max]; for(int i = 1; i <= size; i ++){ StringTokenizer st = new StringTokenizer(br.readLine()); for(int j = 1; j <= size; j ++){ map[i][j] = Integer.parseInt(st.nextToken()); } } dfs(1,1); if(visited[size][size]){ System.out.print("HaruHaru"); }else System.out.print("Hing"); bw.close(); br.close(); } }
-
미해결비개발자도 쉽게 시작하는 코딩 입문 강의: PCCE 합격을 위한 파이썬 기초 & 알고리즘
응시권을 신청했는데 언제쯤 오나요?
bms0801@gmail.com 메일로 신청했습니다.언제쯤 오나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-J 반례 질문있습니다.
안녕하세요! 선생님 제가 짠 코드가 작동하지 않는 이유를 도저히 모르겠어서 질문 올립니다.답으로는 구름이 등장할 때까지 카운트를 답에 넣는식으로 작성해 주셨습니다.while(a[i][j + 1] == -1){ a[i][j + 1] = cnt++; j++;}1 5.c..c-> -1 0 1 2 0 -1-> -1 0 1 2 0 1http://boj.kr/c6c895e92431416a87ea2b64d7d50287 <- 제 코드입니다.저는 카운트를 끝까지 넣고 구름이 등장할 때마다 덮어씌우는 방식을 사용했습니다.1 5.c..c-> -1 0 1 2 3 4-> -1 0 1 2 0 1제가 상상할 수 있는 케이스는 다 정상 작동해서 어떤점이 문제인지 모르겠습니다.입력에서 마지막에 ' . '을 덜찍어줬을 경우 밖에 상상이 안갑니다..그냥 안되는 코드구나 하고 넘기기 찝찝해서 질문 남깁니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-T 질문 있습니다!!
먼저 좋은 강의 해주셔서 감사의 말씀 올립니다!!제가 첫 시도때 못 풀고 선생님 강의를 보고 그 다음날 다시 복습하는 과정에서 제 나름대로 로직을 찾아보고 테스트 케이스를 다 푼 코드를 만들었는데, 결과적으로 시간초과가 떴습니다.그래서 선생님 코드랑 비교해봤는데, 제가 생각했을 때 어디서 차이가 나는지 모르겠어서 이렇게 질문남깁니다. 읽어주셔서 감사합니다!!http://boj.kr/c8fc36cc6e9844a88c4495c0a7e8f3a4
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
1-5 알고리즘과 친해지기 (2) 질문
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?1-5 . 알고리즘과 친해지기 (2)어떤 알고리즘을 학습하고 계신가요?최빈값 찾기여기까지 이해하신 내용은 무엇인가요? def find_max_occurred_alphabet(string): alphabet = {} result = [] maxvalue = 0 for char in string: if char.isalpha(): alphabet[char] = alphabet.get(char,0) + 1 for value in alphabet: maxvalue = max(maxvalue, alphabet[value]) for i in alphabet: if alphabet[i] == maxvalue: result.append(i) return result result = find_max_occurred_alphabet print("정답 = i 현재 풀이 값 =", result("hello my name is dingcodingco")) print("정답 = e 현재 풀이 값 =", result("we love algorithm")) print("정답 = b 현재 풀이 값 =", result("best of best youtube"))영상 안보고 문제만 보고 한번 풀어봤는데예시의 hello my name is dingcodingco,we love algorithm, best of best youtube 문자열 전부 최빈값이 여러개라서 원본 문제로 가보니 여러개라면 -1을 반환하도록 되어있어서 조금 바꿔서저는 리스트로 반환하도록 풀어봤는데 이 방법은 어떨까요? 알파벳 아스키코드로 풀 방법은 생각이 안나서 자바에서는 map에 넣듯이 dictionary에 넣어서 풀어보려고 했습니다max 메소드는 연습할땐 안쓰는게 좋은데 자바 삼항연산자가 파이썬에서 어떻게 쓰는지 몰라서 일단 max로 해봤습니다
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I 17071 시간 초과
안녕하세요 선생님, 17071 문제를 푸는데 도저히 시간 초과가 해결이 되지 않아 질문드립니다. http://boj.kr/205232630d404eddbd6e2f0eeb5e5627 맨 처음에 주석에 달린 조건문이 없을 때는 메모리 초과가 났었고, 이를 해결하기 위해 조건문을 추가했어요. 다만 해당 방법으로 구현하니 시간 초과 문제가 나더라고요. 더더욱 최적화를 해야할 것 같은데, 현재 제 코드에서 더 최적화할 수 있는 방법이 뭔지 궁금합니다. 그리고 이 문제만 6시간 이상 붙잡고 있는데, 이게 맞는건지 잘 모르겠어요. 아예 아이디어가 생각이 안나면 이렇게까지 시간을 붙잡고 있지는 않고, 바로 아이디어 힌트를 얻으려고 할텐데 어느정도 될 것 같은 아이디어(==전체적인 설계나 시간 복잡도, 공간복잡도를 고려했을 때)로 구현했을 때 예상치 못한 동작을 한다던가, 메모리 초과나 시간 초과를 겪으면 제 방법에서 보완하기 위해 고민하다보면 시간이 너무 많이 지나있더라고요. 물론 선생님의 해설은 훌륭해서 잘 이해가고, 해당 방법으로 풀면 풀린다는 것도 잘 알아요.하지만 그건 제가 푼 게 아니라 선생님이 푼건데, 그저 이해하고 따라하기만 하면 낯선 아이디어를 떠올려야할 때 스스로 생각하는 힘이 부족한 느낌이 들더라고요. 그래서 계속 어떻게든 제 방법의 문제점을 찾아내고 해결하려고 붙잡게 되네요. 방법의 시작 자체가 잘못된 걸수도 있는데, 그렇다면 무엇이 잘못되었는지 파악하려고 하고요. (물론 잘 안돼요. 시간만 버리는 것 같습니다.) 실력도 별로 느는 것 같지 않아요. 연습 시간은 너무 많이 걸리고요. 코드도 너무 못 짜는 것 같아요.제 방식이나 생각이 잘못된건가요?