묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결개발 역량 + 자격증까지, Java로 PCCP 자격증 준비하기
실습권한좀 빨리주세요
실습 권한 부여를 위해 프로그래머스 회원 가입 후 섹션 1에서 아이디를 제출해 주세요. 이렇게 말하면 어떻게 알아듣나요
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
수업교재 링크 문의
안녕하세요! 수업 교재 링크에서 제목만 뜨고 코드나 내용 설명은 안뜨네요ㅠㅠ pdf로 열면 뜨는데 코드가 짤리게 나와서 드래그 복사를 해도 짤린 부분까지만 복사가 되요ㅜ 강의 영상에서처럼 강의 자료를 보려면 어떻게 해야 될까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
공부하는 방법 질문있습니다.
안녕하세요 큰돌님. 이제부터 1주차 강의 문제 파트로 들어가기 시작했습니다. 강의 보기 전에 혼자 풀어보려는데 이 문제는 어떤 알고리즘으로 풀어야지 생각은 드는데 C++ 지식이 부족하여 문제를 제대로 못 푸는 경우가 허다합니다.. 이러한 경우는 답을 보고 복습하고 나중에 다시 풀어보는게 맞을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
펜윅트리 개념강의 질문
8분 8초부터 rangeQuery(1, 4) 함수 관련해서 설명해주시는 부분이 이해가 잘 안돼서 질문 드립니다.그림 설명에서는 sum(4) - sum(1) 을 설명해주시는데 이거는 rangeQuery(1, 4) 와는 별개의 설명인 건가요? rangeQuery(1, 4) 를 실행하면 sum(4) - sum(1 - 1) 이 실행돼서 28이라는 값이 출력되는 것 같은데 별개로 이해하면 될까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
hi의 초기 최대값 설정
문제에 대한 고민은 아니고 접근법에 대한 고민이 있습니다..이진 탐색 문제를 풀 때 무지성으로long long hi = 1e15로 최대한 크게 잡고 들어가는데 이 부분을 저격할 수 있는 문제가 있나요?코딩테스트에서 위험한 생각인지 궁금해서 여쭤봅니다.
-
해결됨SW 역량테스트 합격하기 A형 with C++ (Advanced Algorithm)
(반)시계 회전 함수의 N, M 처리 방식
안녕하세요, BOJ 16935번 문제를 풀던 중 시계 방향 회전(clockwise)과 반시계 방향 회전(counterClockwise) 함수의 구현 방식 차이에 대해 헷갈리는 부분이 있어 질문드립니다. (강의 6:22)// 시계 방향 회전void clockwise() { copyMAP(temp, MAP); int t = N; N = M; M = t; for (int r = 1; r <= N; r++) { for (int c = 1; c <= M; c++) { MAP[r][c] = temp[M + 1 - c][r]; } }}// 반시계 방향 회전void counterClockwise() { copyMAP(temp, MAP); int t = N; N = M; M = t; for (int r = 1; r <= N; r++) { for (int c = 1; c <= M; c++) { MAP[r][c] = temp[c][N + 1 - r]; } }}궁금한 점은, clockwise()에서는 temp[M + 1 - c][r]처럼 회전 전의 N, M 기준으로 접근하는거고, counterClockwise()에서는 temp[c][N + 1 - r]처럼 바뀐 후의 N, M을 그대로 사용하는 건가요?이 부분이 좀 헷갈려서 질문 드립니다. 감사합니다.
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
질문있습니다.
혹시 이런 유형에서 N 이 크면 ArrayList 를 사용해야하는데 2차원 배열 어레이 리스트 사용은 어떤식으로 하나요??
-
미해결코딩테스트 [ ALL IN ONE ]
linkedList - BrowserHistory 코드 질문
안녕하세요 linkedList에서 BrowserHistory 코드를 구현할 때저는 처음 linkedList 개념에서 생각했던 대로 linkedList + idx로 접근하는 방향으로 생각했습니다.# idx로 생각한 예시 # O(n) def insert(self, idx): current = self.head NewNode = Node() # insert하려는 앞 노드까지 for i in range(idx - 1): current = current.next NewNode.next = current.next current.next = NewNode그런데, BrowserHistory에선 linkedList + class 속성?(current)으로 풀이를 하신 것 같은데 맞을까요?문제 풀이할 때, visit을 할때마다 현재 idx를 global 변수로 저장해둬야 하나?라는 고민을 했어서 혹시 잘못 생각한 부분이 있는지 알려주시면 감사하겠습니다..!
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
오타가 있습니다.
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?4-4강의 내용 중 오타가 있습니다.루트 노드와 맨 끝에 있는 원소를 교체하면 3 6 72 5 4 8이 되어야합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
코딩테스트 관련 질문입니다.
이번주 일요일에 삼성 계열사 코테를 치루고 왔는데요.삼성은 visual studio에서 개발을 해볼 수 있던데 #include<bits/stdc++.h> 를 입력하면 오류가 생기더라구요... 이럴땐 어떻게 해야되나요..?그래서 따로 visual studio에서 개발은 못하고 바로 삼성 코테 사이트에 입력을 하였었는데 해결 방법이 있을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-B 맞왜틀
http://boj.kr/261bd5fb77ea43a6ad0b166b642b8d51우선 문제 해설 보기 전에 스스로 생각해서 풀었는데 제 로직은 어느 부분에서 잘못된 것인지 모르겠습니다 ㅠ확인해주실 수 있을까요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
반복문 최소화하고 indexOf 사용해서 풀어봤습니다
export default function solution(arr) { let answer = 0; const m = arr.length; const n = arr[0].length; for (let i = 0; i < n; i++) { for (let j = i + 1; j < n; j++) { let cnt = 0; for (let k = 0; k < m; k++) { if (arr[k].indexOf(arr[0][i]) < arr[k].indexOf(arr[0][j])) cnt++; if (cnt === m) answer++; } } } return answer; }
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
공통원소 구하기 질문입니다.
해당 코드의 실패 예시가 결과 값이 5 999999999 1000000000 가 출력 되야 되는데 5만 출력 됩니다.위의 코드에서 flist, slist를 ArrayList로 선언 했는데 이를 int[]로 변경 후 동작을 하면 정상적으로 동작이 됩니다.int[]로 선언 했을 때랑 ArrayList로 선언 했을때 차이가 있는건지 제가 while문안에 비교를 잘못한건지 모르겠어서 질문드립니다..
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
9. 1-6 시간복잡도 계산하기
시간 복잡도 구할때 이미지에서 빨간색 박스 친 대입 연산자는 왜 빠진건가요?
-
해결됨김영한의 실전 자바 - 중급 2편
해시 인덱스를 사용하는 경우 데이터 저장 평균 시간 복잡도에 대해 질문
관련 내용:강의: 55. 해시 알고리즘6 - 해시 충돌 구현 21:56pdf: 6. 컬렉션 프레임워크 - 해시(Hash) 24P 정리 부분해시 인덱스를 사용하는 경우 데이터 저장을 할 때 평균 시간복잡도가 O(1)이라고 설명. 의문점private static void add(LinkedList<Integer>[] buckets, int value) { int hashIndex = hashIndex(value); LinkedList<Integer> bucket = buckets[hashIndex]; //O(1) if (!bucket.contains(value)) { //O(n) bucket.add(value); } }위와 같이 항상 bucket이 contains(..) 메서드를 호출하여 중복된 값이 있는지 확인하므로 O(n)의 시간 복잡도가 소요됩니다. 그래서 저는 항상 데이터 저장을 할 때는 O(n)으로 계산해야 한다고 생각했습니다. 강의에서 말씀하신 내용은 이상적으로 해시 충돌이 별로 발생하지 않는 상황(그리고 구체적인 구현은 신경쓰지 않는 상황)이라 가정하고 O(1)이라고 한 것일까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-C 질문드려요
동적 계획법 알고리즘에서 사용되는 테이블을 캐시라고 말할께요.만약, dp[y][x]에 값을 최초로 갱신하고 이후에 또 다른 경로 B로 (y,x)에 도달하게 되면 바로 dp[y][x]를 가져다 사용하게 될 겁니다.하지만 만약에 저장했던 최초로 연산했던 최장 경로와 다른 경로 B가 겹치게 된다면 캐시값을 사용하지 않고 직접 연산했을 상황에서는 무한 loop가 발생한것이니, 이런 상황 때문에라도 위치 정보만으로 캐싱하면 안되는거 아닌가요? 그렇게 생각해서 저는 처음에 위치 정보 뿐만 아니라 방문한 정점 정보도 key 값으로 사용하려다 실패하고 큰돌님 강의를 봤네요.애초에 이런 일이 발생하지 않아서 위치 정보만으로 캐싱해도 되는 것인지, 아니면 제 생각이 잘못되었는지 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 불 코드 질문합니
안녕하세요 큰돌님. 제가 강의 보기 전에 짰던 코드인데 각각의 bfs 를 번갈아 가면서 시도하는 코드입니다. 메모리 초과 오류가 납니다.http://boj.kr/83dab6d47b9a4dc7b6270cd88a755aea 벽은 불에 안타는 조건인지 제 생각은 불이 여러 개 주어진 경우, 그 불 간의 최단 시간으로 배열을 바꿔야 할 거 같은데 이런 경우는 없는지도 궁금합니다!
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
섹션 6 사전문제 3번문제 답안이 틀린것 같아요
1번문제 예시 답안에 답안 코드가 없구요3번문제 답안도 문제 수열 (3, 6, 13, 28, 59, ...)과 안맞는데점화식이 a(n) = a(n-1)*2 + (n-2)가 되야 수열과 맞는데 확인 부탁드려요
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
영상 보기 전에 직접 풀어봤습니다.
export default function solution(str) { let answer = ''; let l = 1; for (let i = 0; i < str.length; i++) { if (answer[answer.length - 1] !== str[i]) { if (l > 1) { answer += l + str[i]; l = 1; } else { answer += str[i]; } } else { l++; } if (i === str.length - 1 && l > 1) answer += l; } return answer; }여러 경우에 대해서 대응은 되는거 같은데 괜찮은가요 ?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-K
http://boj.kr/da5acdd9bf904e17b2a814c2f3c9d646N이 1,000,000이라 O(NlogN) 방식을 응용해서 풀려고 했습니다. 교안에는 O(NlogN) 방식으로 LIS의 길이를 측정하는 방법만 나와있으니까요. 사실 LIS 벡터가 LIS 그 자체가 되지 못하는 이유가 LIS의 길이가 최대로 갱신된 이후에 더 작은 값이 LIS의 앞 요소를 바꾸어버린다면, 수열에서 순서대로 뽑는 게 아니기 때문이라고 생각했습니다. 그래서 짠 방법이 lis의 최대를 갱신시키는 순간의 벡터만 계속해서 저장해주면, 수열의 앞에서부터 순서대로 뽑아서 증가하는 순서대로 저장한거고 이후의 수열을 검사하면서 LIS의 앞 부분을 건들여도 상관없는거니까 될 줄 알았는데 틀렸다고 뜨네요. 아마도 같은 lis 벡터의 동일한 인덱스에 들어올 수 있는 값들 중에서 수열의 가장 앞쪽에 위치한 원소를 저장해 만든 가장 긴 증가 수열이 문제에서 원하는 LIS라서 그런 것 같긴 한데... 제 코드가 틀린 이유가 알고 싶어요.