묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
알고리즘 학습법 관련해서 질문드립니다.
안녕하세요 코딩테스트를 공부하고 있는 학생입니다. 코딩테스트를 공부할때 모르는 문제를 마주하면 AI를 통해서 알고리즘이나 순서에 관해 힌트를 얻는 편인데, 어떤 방식으로 공부해나가야 하는지 추천하시는 방법이 있는지 궁금합니다
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
알고리즘 자료 구조들..
알고리즘을 풀때 주로 사용되는 자료구조랑 주로 어디에 쓰는지 알려주실 수 있나요?
-
미해결코딩테스트 [ ALL IN ONE ]
for 문에 sort 함수 를 사용하면
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님. 수업 잘 듣고 있습니다. sort 함수 관련해서요. sort 함수가 nlog(n)의 시간 복잡도를 가지면 n번 반복하는 for문 아래에 sort 함수가 들어가면 n^2log(n)이 되는게 맞을까요?
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
개념 이해와 진도 빼기
문제를 풀기 위한 간단한 개념 이해로 빠르게 다음 강의로 넘어가야 할지, 복습을 마치고 진도를 나갈지 고민하고 있습니다. 자료구조(스택)를 직접 만들면서 자꾸 링크드 리스트 개념이 헷갈리고 있습니다. 문제 풀이는 파이썬의 메소드를 통해서나, 반복문을 통해서 해주시고 계셔서 궁극적으로 코딩 테스트 통과를 위해서 빠르게 진도를 넘기는게 중요할까요?
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
수업 외 개발 환경 질문
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 5-4어떤 알고리즘을 학습하고 계신가요? 카카오 코테여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊안녕하세요 스타트업에서 인턴으로 근무하고 있는데요 실제 인공지능 개발자들의 개발 환경 중에 mac os를 많이 사용하나요? window os를 많이 사용하나요? 곧 회사 컴퓨터가 바뀔수도 있을 것 같아서 여쭤봅니다
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
StringBuilder vs BufferdWriter
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 출력이 나오는 문제에서 항상 이 두 개를 고려하곤 하는데 가끔은 기준이 안잡혀서 고민입니다
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
학습 질문
안녕하세요 선생님이번에 코딩 테스트 역량을 강화하고자 선생님 강의를 듣게되었습니다.강의를 듣으면서 궁금한점이 있어서 질문하게 되었습니다. 저는 삼성,카카오 보다 게임 업계쪽으로 취업하고자 하는데 이 강의 하나면 될까요? 아님 또 따로 공부해야하는 게 있나요? 기초도 어느정도 있다고 생각하고, 백준 플레, 프로그래머스 고득점 킷을 다수 문제를 풀었습니다.하지만 정작 코딩 테스트나 심화문제 등 여러 개념들이 섞인 문제만 보면 풀지를 못하겠습니다... 제가 모르는 개념이 있는걸까요? 아님 기초가 부족할걸까요? 무작정 문제를 풀어라고 하는데 제자리 걸음을 하는것 같아 답답합니다. 선생님이 제공하는 문제 말고도 다른 문제를 풀고자한다면 어디로 가면 풀면 좋을까요? 알고리즘 힌트 없이 랜덤으로 공부하고 싶습니다. (실전 처럼) 선생님 강의를 완강하면 바로 코딩테스트 응시하는데 무리가 없을까요?
-
미해결눈떠보니 코딩테스트 전날
parseInt() vs Number()
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의를 듣다가 parseInt() 메서드를 종종 사용하시는데 Number() 생성자보다 parseInt() 메서드를 사용하는 특별한 이유가 있을까요? 가독성 때문에 사용하시는 것인지 성능이 더 좋아서 사용하시는 것인지 궁금합니다. 또한, 문자열을 숫자로 바꾸는 방법 중에 +연산자를 사용하는 방법도 종종 봤는데 해당 방법은 어떻게 생각하시는지 궁금합니다.const numberString = '05'; const stringToNumber = +numberString;
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
JAVA 질문입니다. 5-2.LINE 인턴 채용 코딩 테스트 에서 List에 Map<Integer, boolean>을 사용한 이유가 궁금합니다.
일단 자바질문이라 죄송합니다. ㅎㅎㅎ 1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 5-2.LINE 인턴 채용 코딩 테스트 입니다.어떤 알고리즘을 학습하고 계신가요? BFS 내용입니다.여기까지 이해하신 내용은 무엇인가요? time단위로 체크하기위해 visited list와 for문을 사용하는것을 이해했습니다. 2. 어려움을 겪는 부분어느 부분에서 막히셨나요? visited에서 Map에 true를 받는 이유가 궁금합니다.코드의 어떤 로직이 이해가 안 되시나요? visited에서 Map에 true를 받는 이유가 궁금합니다.어떤 개념이 헷갈리시나요? List<List<Integer>>를 사용 할 수 있을꺼 같은데 map을 사용한 이유가 궁금합니다. 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요? 강의를 10번정도 다시본거같습니다.에러가 발생했다면 어떤 에러인가요? 초반에 while문 탈출조건을 잘못설정하여 무한루프가 돌았습니다.현재 작성하신 코드를 공유해주세요public static int solution(int c, int b) { int time = 0; Queue<int[]> q = new LinkedList<>(); q.add(new int[]{b, 0}); List<List<Integer>> visited = new ArrayList<>(200001); // [{},{} .... 20만개] for (int i = 0; i < 200001; i++) { visited.add(new ArrayList<>()); } while (c <= 200000) { c += time; if (visited.get(c).contains(time)) { return time; } time++; int qSize = q.size(); for (int i = 0; i < qSize; i++) { int[] cos = q.poll(); int nextB = cos[0]; if (nextB - 1 >= 0) { visited.get(nextB - 1).add(time); q.add(new int []{nextB - 1, time}); } if (nextB + 1 <= 200000) { visited.get(nextB + 1).add(time); q.add(new int[]{nextB + 1, time}); } if (nextB 2 <= 200000) { visited.get(nextB 2).add(time); q.add(new int[]{nextB * 2, time}); } } } return 0; } 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
cli 환경에서 c++ 코드 작성 및 실행하기(우분투)
안녕하세요. cli 환경에서 c++ 코드를 작성하고 있습니다. 교안에 나오는 g++ 명령어를 그대로 입력하면 괜찮을까요? 혹은 권장하는 방법이 있나요?- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
배달의 민족 문제에서 효율적인 탐색 방법에 대해 질문드립니다
해당강의 : 2주차;2-10. 2주차 끝&숙제 설명 강사님 안녕하세요.강의 중 두 번째 문제인 ‘배달의 민족 - 배달 가능 여부’ 문제를 풀이하며,아래와 같이 코드를 작성해보았습니다.def is_available_to_order(menus, orders): for order in orders: if order not in menus: return "주문 불가능" return "주문 가능"강의에서 설명하신 set()을 활용한 방식이 탐색 효율이 높다는 점은 잘 이해했습니다.이에 대해 생각해보며, 제가 작성한 방식도 리스트 탐색만으로 충분히 동작하여데이터 규모가 크지 않은 상황에서는 큰 성능 차이가 없을 것 같다는 생각이 들었습니다.두 방식 모두 평균적인 입력 크기에서는 큰 차이가 없을 것 같은데,혹시 제가 사용한 방법도 일정 규모 이하의 데이터에서는 효율적인 접근으로 볼 수 있을지 궁금합니다.또한, 실제 서비스 코드에서는 어떤 기준으로 set() 변환을 적용하는 것이 바람직한지 알고 싶습니다.
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
문제에 어떤 알고리즘을 적용할지 빠르게 결정하는 팁이 있을까요?
코딩 테스트 문제에 어떤 알고리즘을 적용해야 할 지 빠르게 결정할 수 있는 팁이 있는지 궁금합니다.가장 확실한 방법은 많이 풀어보는 방법이겠지만딩코딩코님만의 팁이 있는지 궁금합니다.
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
코테 준비
안녕하세요!현재 코딩테스트 준비중인 학생입니다. 백준에서 현재 문제 유형 별로(DFS, 백트래킹 등등..) 풀어 보고 있습니다. 문제는 구현같은 유형은 몰라도 풀 수 있지만 DP, N-queen문제는 해당 문제를 접해보지 않고서는 풀기 힘들다고 생각합니다.하루에 한 유형씩 제대로 이해하기 vs 한 유형만 쭉 풀어서 마스터하기 둘 중에 어떤게 더 좋은 접근법이라고 생각하시나요?막상 유형별로 풀자니 구현, DFS, BFS, DP유형이 코테에 많이 보이는거같아서 고민입니다.
-
해결됨김영한의 실전 자바 - 중급 2편
실프로젝트에서 Java25버전 사용
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의에서는 Java 21버전을 사용하고, 현재 최신 LTS 버전은 25입니다.실무에서는 21버전을 계속 사용하다가 25버전이 안정화되면 25버전을 사용하나요?아니면 22, 23, 24 바로 업데이트 하는 경우가 많을까요?
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
(시간 초과) BOJ 1342 관련하여 질문이 있습니다
💡 질문 작성 가이드보다 빠르고 정확한 답변을 위해, 아래 사항을 참고해 질문을 작성해주세요.1. 간단한 내용은 ChatGPT로 먼저 확인해보세요.기본 개념이나 용어 설명은 ChatGPT를 활용하는 것이 더 빠르고 효율적일 수 있습니다.2. 질문하실 때, 아래 내용을 함께 적어주시면 좋아요.어느 파트인지섹션 3 - 브루트 포스 알고리즘[문제풀이]: BOJ 1342내가 이해한 내용재귀 + 백트래킹을 이용해서 푸는 방법(방법2) 중 선생님께서 작성하신 dict과 set 객체를 이용한 것이 아닌 collections.Counter를 이용하여 코드를 작성했더니 시간초과가 뜹니다. from itertools import permutations from collections import Counter s = input() def sol(lev): global s, counter, choose, ans # base case if lev == len(s): ans += 1 return # recursive case for k in chars: if counter[k] == 0: continue if (not choose) or (choose[-1] != k): counter[k] -= 1 choose.append(k) sol(lev + 1) choose.pop() counter[k] += 1 counter = Counter(s) chars = tuple(counter.keys()) choose = [] ans = 0 sol(0) print(ans)궁금한 점dict과 set을 이용해서 for문으로 직접 주입하는 방식과 Counter 컬렉션을 이용해서 사용하는 방식에 어떤 차이점 때문에 시간초과가 나는지 궁금합니다(참고로 python3로는 시간초과가 나지만, pypy3로는 통과가 됐습니다. 이 부분도 왜 그런지 궁금합니다.) 파이썬을 선생님 강의로 입문을 해서 그런지 파이썬 기초에 대해 지식이 많이 부족합니다. 알고리즘 본질이 아닌 파이썬에 대해 질문드려 죄송합니다
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
코테 준비생
아직 기초 알고리즘(예: 정렬, 재귀, DFS/BFS) 이해가 완벽하지 않아서요.강의에서 설명하신 접근법을 연습할 때,‘어떤 문제부터 푸는 게 효율적인지’ 혹은 ‘매일 어떤 루틴으로 연습하면 좋을지’ 팁을 주실 수 있을까요?
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
(섹션 3 퀴즈 관련) - 배열과 링크드 리스트 시간 복잡도 질문
섹션 3 퀴즈에서 헷갈리는 부분이 생겨서 질문드립니다. 문제의 일부는 아래와 같습니다. (정답은 B) 1. 배열과 링크드 리스트의 주요 성능 차이점 중 하나는 무엇일까요?A 배열은 요소 탐색 시 O(1)이 걸리지만, 링크드 리스트는 O(N)이 걸립니다.B 링크드 리스트는 중간에 요소를 삽입/삭제 시 O(1)이 걸리지만, 배열은 O(N)이 걸립니다. 제가 헷갈리는 부분A도 정답이 될 수 있지 않을까요? (A를 선택한 경우 오답으로 처리됨)수업과 수업 자료를 통해 이렇게 이해 했습니다."특정 원소 조회시 배열은 O(1), 링크드 리스트는 O(N)의 시간 복잡도를 가진다" 요소 탐색과 요소 조회는 다른 개념일까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-A 질문있습니다.
안녕하세요 큰돌님:)해당 문제를 아래와 같이 풀었습니다.http://boj.kr/0f5124b1f6d449dfab81b98ee45ce9d7 clList.push_back(chList[idx]); comb(idx + 1); clList.pop_back(); comb(idx + 1);이런식으로 수업에서 말씀하신 대로 이것은 치킨 집 중에서 m개만 뽑으면 되는 것이니 있고 없고의 경우로 나눠서 조합 코드를 작성했습니다. 저의 코드에서 수정해야 할 방향이 있을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-L 질문드립니다.
안녕하세요 7-L을 재귀적으로 푸는 아이디어가 먼저 떠올라 풀어서 통과했습니다. (인사하거나 안하거나)https://www.acmicpc.net/source/99284102 문득 문제를 풀면서 DP의 경우, 재귀방식의 top-down이 보통 취준 코딩테스트에서 시간복잡도에는 걸리는 케이스도 있을지 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3주차 수업 질문있습니다.
안녕하세요 큰돌님:)Q. N과 N개의 자연수가 주어진다. 여기서 몇개의 숫자를 골라 합을 mod11을 했을 때 나오는 가장 큰 수를 구하라입력: 1024 35 38 40 49 59 60 67 83 98출력:101024위 문제의 go함수를 아래와 같이 작성했습니다.int go(int idx, int sum){ if(idx == n) { cnt ++; return sum % 11; } return max(go(idx+1, sum + v[idx]) % 11, go(idx+1, sum) % 11); }이렇게 작성해도 괜찮나요?