묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 1940 질문 있습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/ff41e287b9de4ec0bdb54ab2ea3b1c69 next_permutation을 통해서 풀어봤는데, 테스트케이스는 통과하는데 시간초과가 자꾸 떠서 문의드립니다.이 문제는 next_permutation을 통해 풀면 안 되는 문제인건가요??
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-M 질문 있습니다.
안녕하세요.강의도 듣고 제 나름대로 구현을 해보았는데, 테스트 케이스는 다 통과하는데, 어째선지 내부 테스트 케이스를 통과를 못하는것 같습니다.열심히 봤는데 이유를 모르겠네요... 부탁드립니다.http://boj.kr/c1ff73d9fcf3471d9459e8a7fa24e793감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-H 질문
안녕하세요 큰돌님 문제를 다시 풀어보다가 의문이 생겨서 질문 드립니다. 우선 저는 해당 인덱스를 확인해보며 해당인덱스까지의 경우의 수를 확인해보고 해당 루프마다 ret에 경우의수를 더해주는 방식으로 문제를 풀었습니다근데 제 풀이의 경우 visited배열을 방문해제할때 for문으로 확인하는 방식이라 시간복잡도가 O(N^2) 일거라 생각하고 당연히 틀렸겠지 하고 그냥 제출해봤는데 맞아서 의문입니다.왜 맞은걸까요?고민을 해봤는데 이해가 잘 안되서 질문드립니다. 감사합니다http://boj.kr/329316d089c24e2896b8062b2a367efb
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-K 질문 있습니다.
안녕하세요.혼자서 고전하다 결국 강의를 보며 클론 코딩을 하는 느낌으로 이번 문제를 풀게 되었습니다.그래서 제가 이해한 것을 바탕으로 코드 스타일만 제 스타일로 바꿨는데, 예제 4를 통과하지 못합니다. 어디선가 제가 틀렸다는 것인데 어디가 틀렸는지 도저히 모르겠네요...여기 제 코드입니다.http://boj.kr/40496fc4ce9d4e8fa8b9243394571b92 그리고 질문이 하나 더 있습니다.이해가 잘 안되어 교본에서 큰돌님 코드를 보고 이해를 하려고 시도를 했는데, 이해가 되지 않는 부분이 하나 있습니다.일단 여기 큰돌님 코드입니다.http://boj.kr/60dbddfd09b34a019c1115999cf9eff1제 생각에 오락실을 0개, 1개, 2개, 3개...를 들릴 때 dp의 값을 공유할 수 없기에, go의 cnt매개변수가 바뀔 때 마다 dp가 초기화 되어야 한다고 생각합니다.그러나 큰돌님 코드는 dp의 초기화가 한번만에 되는데도 불구하고 어떻게 코드가 잘 돌아가는것 같습니다.질문이 좀 이상하긴 한데, 이게 어떻게 가능한가요? 감사합니다.
-
미해결2주만에 통과하는 알고리즘 코딩테스트 (2024년)
코드 오류
18:12 코드가 for arr in hint라서 arr[0], arr[1], arr[2] 처럼 지정이 되어야 하는데 hint[0], hint[1], hint[2]로 되어 있습니다. (강의자료에는 제대로 나와있습니다.)
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문 있습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 다른 강의나 교안에서 설명해주셨던 것 같은데, 다시 찾을 수가 없어서 질문으로 드립니다ㅠㅠ아래 코드를 사용할 때 주의점과, 해당 코드를 사용하면 어떻게 되는 거였는지 설명을 들을 수 있을까요?ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간초과 원인을 모르겠습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요.강의 듣지 않고 먼저 제가 생각한 구현대로 풀었는데, 테스트케이스는 문제 없이 통과하지만 제출시에 시간초과가 나는 이유를 알고 싶어서 질문드립니다!http://boj.kr/685512bc92be45b7b83207a485d28054
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
DP에서 경우의 수 구할 때 dp[4] += dp[2] 가 되는 원리가 이해가 잘안가요.
1, 2, 3으로 만들 수 있는 경우의 수를 구하는 문제 부분에서 dp[j] += dp[i - j]가 되는 원리가 이해가 안가서 질문드립니다. 1로 만들수 있는 경우의 수를 모두 구하고, 2로 만들수 있는 경우의 수를 만들 때 dp[4]를 만든다면 dp[4] - 기존에 1로 만들 수 있는 경우의 수 (1+1+1+1)에 dp[2]를 더해서 경우의 수를 계산 한다고 설명해주셨는데요. dp[4]는 (1+1+1+1, 2+1+1, 2+2)는 3가지 경우의 수가 들어가야 하잖아요. 여기서 왜 1로 만든 경우의 수가 (1+1+1+1) 1이 저장된 dp[4]에 (0+2, 1+1)의 경우의 수 2가 저장된 dp[2]를 왜 더하는 걸까요?(2+1+1, 2+2)와 (0+2, 1+1)이 무슨 연관이 있어서 더 해주는지 추가적인 설명부탁드려도 될까요?
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
병합정렬 문제에서 조건이 하나 빠진 것 같습니다
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 3-4 2. 어려움을 겪는 부분병합 정렬 구현해볼 때 두 배열의 비교하는 값이 같은 경우에서의 처리가 안되어 있는 것 같습니다. 3. 시도해보신 내용while first_array_index < len(array1) and second_array_index < len(array2): if array1[first_array_index] < array2[second_array_index]: result_array.append(array1[first_array_index]) first_array_index += 1 elif array1[first_array_index] > array2[second_array_index]: result_array.append(array2[second_array_index]) second_array_index += 1 else: result_array.append(array1[first_array_index]) result_array.append(array2[second_array_index]) first_array_index += 1 second_array_index += 1 동일한 값을 비교할 경우 두 값을 모두 result 배열에 넣어줘야 하니까 else의 코드도 있어야 하지 않을까 생각이 들어 글 남깁니다! 좋은 강의 감사드립니다!
-
미해결2주만에 통과하는 알고리즘 코딩테스트 (2024년)
2강 정수론 문제3 #1407 질문
let [a, b] = require("fs") .readFileSync(0) .toString() .trim() .split(" ") .map(Number); function count(num) { let sum = num; for (let i = 1; i < 99; i++) { sum += (2 ** i - 2 ** (i - 1)) * Math.floor(num / 2 ** i); } return sum; } console.log(count(b) - count(a - 1));백준에 이렇게 제출하면 틀렸다는 답이 나옵니다. 어떤 문제일까요? ㅜㅜ BigInt로도 해봤는데 안 됩니다..
-
미해결2주만에 통과하는 알고리즘 코딩테스트 (2024년)
이차원 배열 (int형)dp로 0 혹은 -1로 체크하는 방법 말고 boolean형 배열로 체크해서 바로 리턴해줄 수 없나요?
제가 자바로 공부중이라 파이썬이 알고리즘 풀이에 좋은 건 알지만 코드 공부하는 겸 자바로 풀고 있습니다.그런데 자바는 배열은 선언하고 -1일 때는 따로 초기화를 해줘야되는 번거로움이 있습니다. 그래서 혹시 이차원 배열 (boolean형)으로 방문했는지 체크해서 문제를 풀 수 있는 방법이 있을까해서 질문드립니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-O 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 선생님, (3-O) 15684번 : 사다리조작 문제 질문있습니다.이 문제의 조건으로 " 두 가로선이 연속하면 안된다. " 이 부분을 코드로 표현하면 어떻게 되나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-L 어디가 틀렸는지 모르겠습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.강의를 보지 않고 다시 풀어봤는데 틀렸다고 나오네요예제는 올바르게 출력되는데 어디가 문제일까요??http://boj.kr/02d16c630e354150a7ab48c2ceda27a0
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
다른 풀이
http://boj.kr/07a720d2a75341d19919c4112a7f0c8f 위와 같이 풀었는데, 너무 비효율적이진 않은가 고민입니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-H 질문 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님 예제 입력은 맞게 나오는데 왜 틀렸는지 모르겠네요. 반례를 1시간 고민했지만 도저히 몰라 질문 남깁니다 http://boj.kr/79bd2e50720d4be3ba4341ccc6706ed3
-
해결됨자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게 풀어도 괜찮을까요?
for문을 사용하지 않고 sort를 사용해 정렬하고 정렬된 첫 번째를 출력하도록 해서 값을 구했는데 이렇게 해도 되나요?
-
해결됨자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게 풀어도 괜찮을까요?
이렇게 풀어도 괜찮나요? 너무 단순하게 푼 거 같아서요
-
미해결개발 역량 + 자격증까지, Java로 PCCP 자격증 준비하기
강의 업로드 오류
2-1, 2-2 강의 업로드 된 내용이 1-1,1-2와 동일해요
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
17609 투포인터 문제를 재귀로 풀 경우가 궁금합니다!
파트 : 투 포인터 알고리즘 [문제풀이]: BOJ 17609투 포인터 알고리즘 [문제풀이] : BOJ 17609안녕하세요, 백준 17609 회문 문제를 혼자서 풀어봤을 때, 처음에 투 포인터 알고리즘으로 풀려고 left, right를 선정하고 양방향으로 오게 만들었습니다. 그런데 이때 문자가 다를 경우 left, right에 해당하는 문자를 각각 삭제해보고 안되면, 다시 돌아가는 방식백트래킹을 생각했고 재귀로 풀고자 했습니다. 아래의 코드로 풀면 답은 잘 나오는 거 같지만, 제출하면 메모리 초과가 발생합니다.제가 재귀의 개념을 잘 이해하지 못한 거 같은데, 이렇게 풀면 브루트포스 풀이가 되어서 정답이 아닌걸까요?그렇다면 해당 문제에서 '투포인터를 사용했을 때'와 저처럼 '재귀로 풀었을 때'의 큰 차이점이 무엇인지 궁금합니다..! 질문 받아주셔서 감사합니다:)import sys sys.setrecursionlimit(10**6) # 재귀 깊이 제한 늘리기 def recursion(value, left, right, count): global T # base if count > 1: return 2 if left >= right: return count # recursive if value[left] == value[right]: return recursion(value, left+1, right-1, count) else: # 1. right를 옮겨보기 skip_right = recursion(value, left, right-1, count+1) if skip_right == 1: return 1 # 2. left를 옮겨보기 skip_left = recursion(value, left+1, right, count+1) if skip_left == 1: return 1 return 2 T = int(input()) # 문자열 개수 arr = [input() for _ in range(T)] for value in arr: left = 0 right = len(value)-1 print(recursion(value, left, right, 0))
-
미해결김영한의 실전 자바 - 중급 2편
9강 해쉬맵 회원관리기능 연습문제 질문입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]연습문제 회원 관리 기능을 만드는중 findByName에서 헷갈려서 질문을 남김니다. 다음은 제가 작성한 소스코드입니다/** * get 메서드는 key값을 통해서 value를 반환한다 * key-> id, value ->memeber * value의 구조는 STRING: ID, STRING NAME이므로 * value를 하나로 펼쳐서 순회한 다음, 이름에 맞는 member를 반환 * */ public Member findByName(String name) { Boolean findMember = memberMap.containsValue(name); if(findMember!=null){ for(Map.Entry<String, Member> entry: memberMap.entrySet() ){ String key =entry.getValue().getId(); String parameterName = entry.getValue().getName(); if(parameterName==name) { return memberMap.get(key); } } } return null; }다행히 결과는 문제 없이 돌아가가나 String key = entry.getValue().getId()에 디버그를 찍으면Boolean findMember = memberMap.containsValue(name);//findMember:false, name: 회원3다음과 같이 표기 되는데 분명 회원3의 값을 저장 했는데 왜 findMember가 false로 나오는 걸까요?이유가 궁금합니다. 그리고 제가 작성한 findByMember 로직이 맞을까요 ? 많은 피드백 부탁드립니다!