묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
큐에 항상 하나의 값만 들어가는데 문제풀이에 bfs를 떠올리신 이유가 궁금합니다.
몇 챕터/몇 강을 수강 중이신가요? 4.9어떤 알고리즘을 학습하고 계신가요? bfs, 숙제 두번째 청소기 문제여기까지 이해하신 내용은 무엇인가요? 문제 풀이 강의 보면서 같이 풀고, ai 사용해서 공부한상태, 일주일 뒤에 다시 풀 예정입니다큐에 들어가는 값이 항상 하나밖에 존재하지 않는데 큐를 사용하시는 이유가 궁금합니다.
-
미해결코딩 테스트 합격자 되기 - 파이썬 편
오타?큐에 개념: 3분 23초
큐에 개념: 3분 23초 - FIFO 먼저 들어간것이 먼저 나오는 규칙인데 먼저 들어간것이 마지막에 나오는 것으로 오타가 있는거 같습니다. 감사합니다.
-
미해결38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
링크드리스트 중간에 삽입 삭제 연산
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 3주차어떤 알고리즘을 학습하고 계신가요? 링크드리스트여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 노션에서 링크드 리스트 중간에 삽입 삭제가 O(1)이라고 되어있는데 삽입을 특정위치에 하기위해서 get_node()로 순회를 해야하기 때문에 O(N)이 아닌가 궁금합니다. 혹시 놓친 부분이 있는걸까요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
미해결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(); } }
-
미해결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로 해봤습니다
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
x랑 y를 거꾸로 쓰는 개념이 너무 헷갈립니다...
일반적으로 수학 좌표계로 생각하면 (2,3) 이라했을때 x축이 2, y축이 3이지만 우리는 맵이나 2차원 리스트로 생각하게됐을떄array[row][col]이여서 이게 반대가되고, 그래프로 치면 정점에 간선이 연결된거기 때문에 이러는것 같은데 graph[y+1][x+1] = true;지난 배추문제부터 이런건 이해가 가는데 static int[] dirY = {-1, 1, 0, 0}; static int[] dirX = {0, 0, -1, 1}; static void dfs(int y, int x){ visited[y][x] = true; for(int i = 0; i < 4; i ++){ int newY = y + dirY[i]; int newX = x + dirX[i]; if(graph[newY][newX] && !visited[newY][newX]) dfs(newY,newX); } } 이게 너무 이해안갑니다. 그냥 파라미터도 x, y로 하고 visited[x][y] , dirX = {-1,1,0,0} dirY = {0,0,-1,1} 이렇게 하면 안되나요? 생각하기가 너무 복잡해요
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
dfs 파라미터에 count를 넣는이유
안녕하세요. 기존처럼 dfs함수내에서 함수가 실행될때마다 answer++를 해서 조건에 일치 할 떄 그냥 answer를 출력하게해도 될것같은데count라는 파라미터는 answer를 -1로 초기화를 해놨기 때문에 넣는건가요? 아니면 answer로 하면 단순 dfs 함수 호출 횟수를 늘리는거고, 이 문제의 본질은 트리의 depth를 물어보는거가 되는거고 그래서 count로 depth를 알려주는건가 싶습니다
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
graph 채울때 for문 설계 질문
그 전 문제들까지는 graph를 채울 때조건문에서 i < M으로 간선의 개수로 했는데 왜 이번문제에서는 i <=N으로 하나요? 전에 2차원 배열을 가득 채우고 할 때 i<=N은 dfs 함수에서 사용했었는데..이해를 못하겠스빈다
-
미해결김영한의 실전 자바 - 중급 2편
중급2편 56강의 bucket.add(value); 메서드가 이해가 안됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 중급 2편의 56강 9분19초에서 size++; 윗 줄의 bucket.add(value); 라는 코드는 자바 라이브러리에 있는 코드인가요? 아니면영한님께서 작성한 코드인건가요?강의에서 사용한 코드를 보면 배열의 값을 대입시키는 코드는 안보이는데 마지막에 있는 add()메서드가 값을 저장하게 된다고 말씀하셨는데 앞선 강의에서는 해당인덱스게 정수 값을 대입시키는 것 밖에 나와있지 않아서 질문하게 되었습니다
-
미해결세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
BFS, DFS
어느 파트인지섹션 5 - 그래프 순회 (DFS & BFS)내가 이해한 내용DFS와 BFS 모두 모든 노드를 탐색하고, 시간 복잡도도 같다고 이해했습니다.궁금한 점DFS로만 풀리고 BFS로 안풀리는 문제도 있나요? BFS로 DFS문제가 다 풀리면, 왜 강사님은 DFS로 먼저 접근하시는건가요?
-
해결됨코딩테스트 [ ALL IN ONE ]
노션 공유 부탁드립니다.
어제 노션 공유 신청했는데 아직 안 와서 다시 공유 요청했습니다... 그럼 혹시 다음 주 월요일까지 기다려야 하나요...?
-
미해결Do it! 알고리즘 코딩테스트 with C++
10986번 질문 있습니다!
안녕하세요!지금 알고리즘 책을 보면서 공부 중인데, 사소한 의문이 생겨 질문드립니다.책에서는 구간합 배열을 저장하는 S 벡터와 나머지 카운트를 저장하는 C 벡터의 자료형을 long으로 사용하고, 정답을 누적하는 answer는 long long으로 선언하셨습니다.조건을 보면 구간합 배열의 원소가 최대 101510^{15}1015까지 커질 가능성이 있어, long long을 쓰는 것이 안전해 보입니다. 그런데 책에서는 S와 C에 long을 사용한 것이 의아했습니다.조사를 해보니, 백준 온라인 저지의 채점 환경은 64비트 Linux라서 long이 8바이트로 long long과 동일한 크기라는 것을 알았습니다.그런데 answer는 굳이 long long으로 선언한 특별한 이유가 있는지 궁금합니다. 혹시 제가 놓친 자료형 선택의 의도가 있을까요?
-
미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (심화편)
Red-Black 트리 - 개념 (삽입) 4분 48초에 21의 높이의 값이 설명과 그림이 다른거 같습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 설명으로는 12와 21의 높이가 4라고 해주시는데 그림에서는 21의 높이가 2로 표기되어서 어느쪽이 맞는건지 궁금합니다.
-
미해결김영한의 실전 자바 - 중급 2편
pop()과 poll()의 차이
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Stack의 메서드인 pop()과Queue의 메서드인 poll()의 차이를 보니stack이 비어있을 때 pop을 실행하면 NoSuchElementException 예외가 터지고, queue가 비어있을 때 poll을 실행하면 null이 반환되는데, 왜 이렇게 차이를 두고 설계를 한건지 궁금합니다.
-
미해결김영한의 실전 자바 - 중급 2편
특정 index의 노드 조회하기 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]1. 특정 index의 노드 조회하기에서 index의 값을 0이나 1로 설정하고 실행시키면0으로 설정시: index0Node = [A->B->C]1으로 설정시: index1Node = [B->C]이런식으로 출력이 되는데 저희가 의도한 출력은 특정 index의 값이므로 index가 0이면 [A], index가 1이면 [B] 와 같이 출력이 되어야 맞는게 아닌가해서 질문드립니다! 메서드를 구현할 때 영한님께서는 Node x = node; 이런식으로 변수에 받아서 구현을 하시는데 제 생각에는 x라는 변수가 굳이 필요 없을 것 같아 아래 코드와 같이 작성해보았는데 잘 작동하였습니다. 변수 x에 담아서 메서드를 처리하는 의도가 따로 있는건지 궁금합니다! 감사합니다private static Node getNode(Node node, int index) { for (int i = 0; i < index; i++) { node = node.next; } return node; }
-
미해결얄코의 가장 쉬운 자료구조와 알고리즘
동적 배열 구현 로직 질문
강의제목 : 얄코의 가장 쉬운 자료구조와 알고리즘레슨이름 : 정적 배열과 동적 배열질문 : 위 캡쳐화면처럼 동적 배열을 구현하는 자바 코드도 암기?나 직접 짜보는 연습이 필요할까요? 나중에 코테나 업무에 도움되는 부분일지 궁금합니다. (물론, ArrayList가 동일한 기능을 한다지만, 기능 자체보다 해당 로직을 짤 줄 아는 능력(?)이 중요할 지 궁금합니다.)
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
첫번째 루프에서 최소값을 못찾았는데 계속 진행하는 이유가 무엇인가요?
이미 정렬이 된 노드에서 범위기반 탐색을 하는데 min보다 같거나 큰값을 못찾았다는건리스트 내의 모든 값이 min보다 작다는것 아닌가요? 그렇다면 왜 바로 종료시키지 않고 헤드 다음을 기준으로 MAX 까지 다시 탐색하는지 이해가 가지 않습니다.
-
해결됨iOS 앱 수익화를 위한 시작, 스위프트 문법 마스터
앱에 누락되어 있어요
앱에 COW 내용이 누락되어 있네요
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
1-10 코테 시험에서 collections의 Counter 사용 여부와 복잡도 계산
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 1-10어떤 알고리즘을 학습하고 계신가요? 1-10 2. 어려움을 겪는 부분실제로 코테볼때 collections을 import 하지 말라는 제약조건이 있는 경우도 있는지 궁금합니다. (예전에js로 코테볼때 fetch 말고 xhr 써야된다는 제약조건을 본적이 있어서...ㅋ)아래 경우는 Counter에서 순회한번 해서 O(N), for c in s 반복문 O(N), 조건문은 딕셔너리가 해시테이블이라 O(1)O(N) + O(N) = O(N) 으로 계산했는데 맞나요? 3. 시도해보신 내용from collections import Counter def solution(s): count = Counter(s) return next((c for c in s if count[c] == 1), "_")