묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
comparable관련 질문입니다.
안녕하세요.씨름선수 문제를 풀다가 궁금한 점이 생겨 글남깁니다. comparable 을 구현하여 compareTo를 정의할 때 선행원소 - 후행 원소 가 음수이면 자리를 바꾸지 않고, 양수이면 자리를 바꾸는 것으로 알고 있습니다.문제 코드를 예시로 들어서 return this.h - o.h 라면 선행원소가 this.h 이고 후행원소가 o.h 라는 것은 어떻게 알 수 있나요? 물론 외우면 되긴 하지만 원리가 궁금합니다. 두서 없는 글 읽어주셔서 감사합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-C 질문있습니다!
안녕하세요 선생님 😃 대부분의 코드는 이해하였지만, ret값이 1이 아닌 0이라면 오답처리가 되더라구요. 어차피 max함수를 사용하면 ret값이 ret과 cnt 중 더 큰 값으로 바뀔텐데요, 테케도 올바른 출력 값을 가져오는데 무슨 차이가 있는건지 알려주시면 감사하겠습니다 :)
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
K번째 큰 수
안녕하세요! 궁금한 부분이 있어 질문 드립니다! for i in range(n): for j in range(i+1, n): for m in range(j+1, n): res.add(a[i]+a[j]+a[m]) 해답 코드가 위와 같은데, range를 n까지 설정해주는 이유가 무엇인가요? 저는 i의 범위를 n-2, j의 범위를 n-1로 설정해주어야 한다고 생각했습니다. 문제에서 주어진 '같은 숫자의 카드가 여러장 있을 수 있다' 때문인가요?? n장의 카드를 가지고 있는 경우니깐 i,j,m이 모두 n인 경우가 나올 수 없는것 아닌가 싶어서 여쭤봅니다!
-
미해결김영한의 실전 자바 - 중급 2편
오탈자가 있는데
별거아닌데문제와 풀이3 - Stackyoubute.com 수업자료에 그대로 있어서요
-
해결됨코딩테스트 [ ALL IN ONE ]
VS Code 사용법
안녕하세요.훌륭한 강의 잘 듣고 있습니다. 코테가 처음이고, VS Code 또한 처음 사용하다보니Break point 찍는 지점, .py 생성 등 모든 것이 익숙치않고 헷갈리네요.코테 연습할 때 VS Code를 효율적으로 사용할 수 있는 방법에 대한 강의는 찍으실 생각 없으실까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-J 질문 있습니다!
안녕하세요 선생님, 사소한 궁금증이 두가지 생겨 질문 드립니다.1.선생님이 전역변수가 유리하다고 말씀해주셨는데 이번에는 지역변수로 map을 선언하셨습니다. 저는 전역변수를 이용해 선언 후 선생님의 while문 맨 아래에서 clear시켜주는 방식을 사용했습니다. 이런 상황에서는 지역변수로 해주는 것이 복잡도 등의 측면에서 더 효율적이라 그렇게 하신건가요? 아니면 그저 취향 차이인가요? 2.이 문제에서는 공백을 두고 들어오는 두 문자열 중 앞의 문자열은 사용하지 않습니다. 이런 상황에서 선생님 풀이처럼 두 문자열에 대해 변수를 모두 선언해서 각각 받을 수 있지만 저는 아래와 같이 한 변수만 설정하여 연속으로 입력받는 방식을 습관처럼 사용하고 있습니다.cin >> tmp >> tmp;이부분 또한 취향차이인지, 더 나은 것이 있는지 궁금합니다.감사합니다.https://www.acmicpc.net/source/share/91fe4435e46b418ba58f13a0844b382e
-
해결됨김영한의 실전 자바 - 중급 2편
굳이 out으로 안하고 해도 되지 않을까 싶어서요
[질문 내용]따로 Shuttle에 out 을 만들어서 T unit에 넣어서 sout으로 입력해 출력하는 것이 아니라public static <T extends BioUnit> void printV1(Shuttle<T> t) { t.showInfo(); } public static void printV2(Shuttle<? extends BioUnit> t) { t.showInfo(); }이렇게 출력해도 동일하지 않을까 싶어 여쭈어봅니다.
-
해결됨김영한의 실전 자바 - 중급 2편
섹션 4. 직접 구현하는 연결 리스트 제네릭 도입
제네릭은 new를 하면 타입 이레이저 때문에 Object가 되어버려서 new를 할 수 없다고 하셨는데,Node<E> newNode = new Node<>(e);이것도 E부분이 Object로 변하니까 new 생성을 못하는 이거는 왜 가능한 건지 이해가 되지 않습니다 ㅠ public class MyLinkedListV3<E> { private Node<E> first; private int size = 0; public void add(E e) { Node<E> newNode = new Node<>(e); if (first == null) { first = newNode; } else { Node<E> lastNode = getLastNode(); lastNode.next = newNode; } size++; }
-
미해결김영한의 실전 자바 - 중급 2편
런타임 의존관계
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]배치프로세서가 컴파일 시점에서는 mylist 인터페이스 의존을 하고 런타임에 생성자 주입을 한다고 하는 데 main 함수도 결국 컴파일 되는 것 아닌가요? 배치프로세서가 유연해 지는 건 이해할 수 있는 데 런타임시점에서 의존성이 주입된다는 부분이 좀 잘 이해가 안갑니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-T 17298번-오큰수 질문
안녕하세요 큰돌 선생님. 수업을 열심히 듣고 있는 학생입니다.정답이 틀려서 질문했다기보단 강의를 보기 전에 스스로 풀었는데 저는 우선순위 큐를 사용해서 풀었습니다. 맞추고 나서 기분이 좋은 상태로 선생님 강의를 봤는데 스택으로 푸셨더라고요.이런 방법도 있구나~ 하면서 어떻게 푸셨는지 로직을 보는데 이게 왜 되는지 오랜 시간 생각을 해봐도 논리? (스택 방식으로 푸는게 왜 유효하고 문제가 없는건지)를 모르겠습니다. ㅜㅜ우선순위큐로 푸는 상황에서는 현재 가르키고 있는 인덱스의 값보다 작은 값의 모든 우선순위큐 안에 있는 인덱스들을 pop을 한다고 확신을 하겠는데 스택은 확신이 안 듭니다예를 들면 스택안에 현재 인덱스가 가르키는 값보다 작은 값의 인덱스들은 저장을 하며 pop을 하다가 더 큰 값 인덱스를 만나서 while문을 멈췄는데 그 밑에 그러니까 더 일찍 들어온 애들 중에 pop을 해야 하는 애가 있는 상황이 있을까봐 저는 스택이 아닌 우선순위 큐부터 써본 것 같습니다. 이렇게 딱 스택을 써도 문제가 없겠다. 즉 위 같은 상황이 안 생기겠다! 라는 생각이 드는 논리를 알고 싶습니다. 그리고 이렇게 논리를 생각해야하는 문제들을 어떻게 대비해야하는지 여쭤보고싶습니다. 제가 머리가 나쁜지 한 10분 생각을 해봐도 스택이 왜 문제가 없는지 아직도 깨닫지 못했습니다 ㅠㅠ이런 논리를 생각해내지 못해서 손도 못댄 문제들이 있습니다. 풀어보셨는지는 모르겠지만 프로그래머스에 요격 시스템이라는 문제는 비슷한 이유로 제대로 풀지 못해서 결국 남의 코드를 봤습니다. 밑에는 우선순위 큐로 푼 코드입니다http://boj.kr/88988bf1465247cea240603121ec5ae7
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
당근마켓 엔지니어 문제 BFS 코드 질문
안녕하십니까 큰돌님제가 강의 보기 전에 당근마켓 엔지니어 문제를 혼자 코드로 작성했었는데뭐가 문제인지 모르겠습니다입력에서 무한루프에 빠지는 왜 빠지는 거 같은데 모르겠습니다 ...http://boj.kr/d57fe9c1c85b4938bc642528ab607f2e그리고 n이 세로, m이 가로이면 반복문에서 n과 m의 위치가 제 코드처럼 바껴야 하는 거 아닌가요 ??
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
선생님 문제 푼거
혹시 블로그에 포스팅 해도 되나요?? 안되면 노션에 할게요 !
-
미해결김영한의 실전 자바 - 중급 2편
컬렉션 프레임워크 - HashSet pdf 오타
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]7. 컬렉션 프레임워크 - HashSet pdf 6페이지 StringHashMain 클래스에 있는 CAPATICY -> CAPACITY로 수정이 필요할거같습니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-R 트리 질문있습니다.
안녕하세요! 좋은 강의 들려주셔서 감사합니다!큰돌님 풀이와 dfs를 쓴다는 점에서 크게 다른 것 같지 않은데, 채점이 잘 진행되다가 77% 정도에서 틀렸다고 뜹니다. 많이 생각해 봤지만, 반례가 어떤게 있는지 찾을 수 없어 질문드립니다!http://boj.kr/387ac0e3a8b644d298eb49bf40165f33
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
RangeSearch002 의 singlelist.c 파일 중 질문 있습니다.
강사님 안녕하십니까. 양질의 수업을 제공해주셔서 잘 듣고 있습니다. 다름아니고 질문이 있어서 여쭙고자 게시글 남깁니다.다름아니고 RangeSearch002 프로젝트 중 singlelist.c 파일의 SearchByAgeRange 함수에서 아래와 같은 코드에서 이해가 되지 않는 점이 있습니다. """void** pNodePtrList = malloc(sizeof(void*) * cnt);""" 본 질문의 목적은 아래와 같습니다.ㅇ malloc을 할 때 왜 따로 타입캐스팅을 하지 않았는가? 검색해서 찾아봤을 때 malloc은 타입캐스팅을 해도 되고 안 해도 되지만 제가 한다면 (void *)malloc 으로 썼을 거 같으며, 디버깅했을 때 결과도 동일한 결과물을 제공하는 것으로 확인했습니다.혹시 잘못된 점이 있으면 따끔한 지적 부탁드리겠습니다. 감사합니다. 좋은하루 되십시오.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-B 유기농 배추 질문있습니다
안녕하세요 선생님 🙂 아무리 봐도 선생님이 푸신 풀이와 제가 푼 풀이의 차이점이 없는거 같은데요, 테케는 전부 올바른 답으로 출력되지만 오답으로 나옵니다 ㅠㅠ 왜 그런지 모르겠어서 질문드립니다!http://boj.kr/7871d7ec89b646a69ae96f413011ea9b 그리고 만약에 fill함수가 떠오르지 않는다면 이중for문으로 배열을 초기화하는 방법을 사용해야할 것 같은데요, 시간복잡도 측면에서 손해를 보게 되는지 아닌지 알려주시면 감사하겠습니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-B 유기농 배추 질문있습니다
안녕하세요 선생님 🙂 아무리 봐도 선생님이 푸신 풀이와 제가 푼 풀이의 차이점이 없는거 같은데요, 테케는 전부 올바른 답으로 출력되지만 오답으로 나옵니다 ㅠㅠ 왜 그런지 모르겠어서 질문드립니다!http://boj.kr/7871d7ec89b646a69ae96f413011ea9b그리고 만약에 fill함수가 떠오르지 않는다면 이중for문으로 배열을 초기화하는 방법을 사용해야할 것 같은데요, 시간복잡도 측면에서 손해를 보게 되는지 아닌지 알려주시면 감사하겠습니다 :)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-F 어느부분이 틀렸는지 모르겠습니다!
스크린을 배열로 만들어서 바구니가 있는 곳은 1, 없는 곳은 0으로 두고, 바구니가 움직이지 않아도 되는 경우, 사과가 바구니 오른쪽에 떨어지는 경우, 왼쪽에 떨어지는 경우로 나누어서 만들어봤습니다!가독성이 떨어지지만 한 번 봐주시면 감사하겠습니다.http://boj.kr/e2e2ca2d3a5d4f728a8ca93048c010f4
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
코드 확인 부탁드립니다 ㅠ
import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[][] arr = new int[n][n]; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { arr[i][j] = sc.nextInt(); } } int m = sc.nextInt(); int[] moves = new int[m]; for(int i = 0; i < m; i++){ moves[i] = sc.nextInt(); } ArrayList<Stack<Integer>> board = new ArrayList<>(); for(int i = 0; i < n; i++) { Stack<Integer> temp = new Stack<>(); for(int j = 0; j < n; j++) { if(arr[n-1-j][i] == 0) break; temp.push(arr[n-1-j][i]); } board.add(temp); } Stack<Integer> basket = new Stack<>(); int result = 0; for(int i = 0; i < m; i++) { int num = moves[i]-1; Stack<Integer> stack = board.get(num); if(stack.empty()) continue; int popNum = stack.pop(); if(!basket.isEmpty() && basket.peek() == popNum) { basket.pop(); result += 2; } else { basket.push(popNum); } } System.out.print(result); } }어느 부분에서 틀린지 모르겠습니다. 확인 해주시면 감사하겠습니다.ㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-A. 문제가 왜 틀렸는지 모르겠습니다
http://boj.kr/bc50e94cb11649708526317af568f56e이렇게 코드를 짜고, 예제1도 제대로 돌아가는데 어디서 왜 틀렸는지를 잘 모르겠습니다. ㅜㅜ 그리고 저는 조합만 생각했었는데, 왜 순열로도 풀이를 하시는지 이해가 잘 안됩니다. 순열은 순서가 중요하다고 알고있는데, 현재 여기서는 순서가 아무 상관 없지 않나요? 조금만 더 자세히 설명 해주시면 감사하겠습니다그리고, 2:03 부분 쯤에 순열을 가리키시면서 순서에 상관 없이 뽑는다고 하시는 부분이 이해가 안됩니다.