묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
filter를 이용해 풀어보았습니다.
<html> <head> <meta charset="UTF-8" /> <title>출력결과</title> </head> <body> <script> function solution(arr) { let answer = []; answer = arr.filter( (number, index) => index === 0 || number > arr[index - 1] // 첫 번째 수는 무조건 출력 ); return answer; } console.log(solution([7, 3, 9, 5, 6, 12])); console.log(solution([2, 3, 4, 5, 2, 0])); </script> </body> </html>
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
BOJ 1759 문제 오답이 생기는데, 어느 부분이 틀리는 것인지 설명 부탁드립니다.
안녕하세요, 좋은 강의 만들어주셔서 감사합니다.'조합 알고리즘' 부분 진도 나가고 있는데, 다음과 같이 시도했더니 오답이 떴습니다.아예 처음부터 L개의 원소를 뽑아 조합을 만든 다음,모음과 자음의 갯수가 미달되면 해당 조합은 지우는 방식으로 시도해봤는데,(for문이 세개나 나와서 좀 조잡한 풀이 같아 보이긴 하지만..ㅠㅠ)이 풀이가 틀리게 되는 이유를 혼자 힘으론 찾기가 어려워서 도움을 구해봅니다...!from itertools import combinations L, C = input().split() chars = list(input().split()) mo = ['a', 'e', 'i', 'o', 'u'] candidates = list(combinations(chars, int(L))) for can in candidates: mo_num, ja_num = 0, 0 for i in can: if i in mo: mo_num += 1 else: ja_num += 1 if mo_num < 1 or ja_num < 2: candidates.remove(can) sol = [] for ans in candidates: ans_str = '' for i in sorted(ans): ans_str += i sol.append(ans_str) for i in sorted(sol): print(i)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
visited 범위 질문 드립니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 큰돌님! 항상 강의 잘 듣고있습니다 ~1:00에서 visited 의 범위를 20만 까지라고 말씀해주셨는데요 !최단시간에 동생에게 도달하려면 10만이 넘지 않아야 되는것 아닌가요?수빈이의 위치 n이 10만을 넘기는 예시를 이것저것 찾아보았지만 찾을수 없었습니다.동생의 위치가 99999 이고수빈의 위치가 50001 이여도100002 > 100001 > 100000 > 99999 보다는50000 > 100000 > 99999 가 더 빠르기 때문입니다.
-
미해결김영한의 실전 자바 - 중급 2편
HashIndex() 와 capacity에 대해
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의를 듣던 중 의문이 생겨 질문 드립니다.메모리 최적화를 위해 value % capacity 를 통해 HashIndex 를 얻고, 이를 통해 메모리 최적화와 검색, 조회 속도 등에서 이점을 얻을 수 있다는 것은 이해가 됐습니다.그런데, List 의 배열 특성상, capacity가 동적으로 변하게 될텐데, 이에 따라 동일한 value 를 넣어도 다른 hashIndex가 만들어지지 않을까요?학습용이라 가장 심플한 방법으로 보여주신 것 뿐일까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
npos 관련 질문입니다!!
안녕하세요 선생님. 수업 잘 보고 있습니다.공부를 하다가 궁금한 점이 생겨서 질문드립니다.강의록을 보니string::npos는 size_t 타입의 최대값을 의미합니다. size_t 타입의 최대값은 OS에 따라 달라지며 64비트 운영체제라면 64비트 부호가 없는 최대정수, 32비트 운영체제라면 32비트 부호가 없는 최대 정수값을 가집니다. 필자의 컴퓨터는 64비트 운영체제이기 때문에 18446744073709551615라는 값을 가집니다.라고 나와 있는데 예를 들어 split 함수에서 찾고 싶은 문자열이 최대 정수값의 위치에 존재하게 된다면 그때는 코드가 제가 원하는대로 작동하지 않는 문제가 생기는게 아닌가 궁금합니다. 이러한 문제가 발생하는지와 발생한다면 그 해결법이 궁금합니다! 인터넷에 있는 npos와 관련된 문서들을 쭉 읽어보았는데 제 궁금증을 해결해주는 문서가 없어서 질문드립니다. 감사합니다!
-
미해결김영한의 실전 자바 - 중급 2편
if 문 작성 시 else 도 함께 작성해주는 것이 좋나요?
문제 1번의 경우 if 구문을 사용할 때 저는 else 를 안 넣고 바로 return 으로 표현했거든요.static <T extends BioUnit> T maxHp(T unit1, T unit2) { if (unit1.getHp() > unit2.getHp()) { return unit1; } return unit2; }답안엔 else 를 같이 쓰는 것으로 나와서 혹시 else를 쓰고 안 쓰고를 결정하는 메뉴얼이나 혹은 더 좋은 코드의 기준이 있을까요?=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-j에서 k = i *m + j
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 큰돌님 강의 잘 듣고있습니다.다름이 아니라 코드 중에 int k = i * m + j이 부분이 어떤 것을 하는 코드인지 잘 모르겠습니다.0 1 2 -> 0 * M + 0 , 0 * M + 1, 0 * M + 2라고 해주셨는데 이게 어떤 거를 확인하는 코드인지 잘 모르겠습니다ㅠㅠ 3 4 56 7 8
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-V 질문
안녕하세요.강의 코드에서 ret = -1e6; 로 되어 있는 걸 -1 로 대신 대입하면 문제가 틀리게 되는 이유가 뭔가요?here == n 까지 도달하면 0이 리턴되고, 시간과 금액은 자연수로 주어지므로, 한 번 끝까지 구해진 경우는 모두 dp값이 0보다 큰 값이 저장될 것 같은데 왜 틀리는지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-P 질문드립니다.
안녕하세요 선생님.해당 문제를 다음과 같은 로직으로 풀어보았으나, 테스트케이스도 통과를 못하여 질문드립니다.a라는 배열에 순서별로 톱니바퀴들을 입력go() 함수를 통해, 시작점으로부터 좌우로 진행하며 회전방향 결정check 배열에 넣어둔 회전방향에 따라 진행 (0: 멈춤, -1:반시계, 1:시계)제출 링크입니다.http://boj.kr/b378ed26be3a436cbc7dbe705184aedd항상 좋은 강의 감사드립니다.
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
1090 아이디어 3번 질문
1090번 문제 3번째 아이디어가 잘 이해가 안돼서 질문 드립니다.제가 이해한 바로는, 최소거리를 구하는 것을 요구하고 있으니깐,특정 인물이 특정 집으로 가기 위한 거리를 각각 저장해둔 뒤에2명이 모였을 때 최소거리를 구할 때에는 각각 저장해둔 값 중 둘이 더했을 때의 최소값을,3명이 모였을 때의 최소거리를 구할 때에는 동일하게 저장해둔 값 중 셋 더했을 때의 최소값을구하는 방식으로 최소 거리를 구하는 것이 맞나요? 영상에서 설명해주실 때에는 [1,2,3] , [3,4,5], [2,2,5]의 예시를 들어주셨는데2명이서 모였을 때 최소거리는 둘이 합했을 때 가장 적은 1+2 즉 3이 되는거라고 설명해주셨습니다. 하지만 저장한 값이 특정 집에서 다른 사람의 거리를 저장한 것이므로 한 사람은 본인의 집에, 다른 사람은 최소 거리만큼 이동하여 0+1 즉, 2명이 모였을 때 최소거리는 1이 되는 것 아닌가용..? 제가 잘 이해를 못해서 질문 드립니다 .
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
문제 이해의 어려움
두 재료 고유번호를 합하여 갑옷을 만든다하여 본인은 한번 사용한 재료는 사용하지 못한다고 이해했습니다.예를 들자면입력:552 3 3 4 1일 경우 (2, 3) (4, 1) 만 가능하다고 생각했는데큰돌님 코드는 (2, 3) (2, 3) (4, 1) 이렇게 3가지 경우가 가능하다고 알고 있습니다. (결과가 3이 뜨길래)문제에서 재료가 소멸된다. 이런 말이 없었기 때문에 사용했던 재료가 다시 사용돼도 괜찮은건가요?문제 이해가 잘 안되어 질문드려요.http://boj.kr/04ebbdad45904d0dae1f5e5892757404
-
해결됨김영한의 실전 자바 - 중급 2편
Node<E> 와 <E> E 차이점
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. Node<E> 와 <E> E 헷갈려서 질문을 드립니다.Node<E> 는 배열안의 값을 E 타입으로 고정하는걸로 이해하면 되나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
코테에서 algorithm 라이브러리 사용
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.가능한가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.http://boj.kr/9e3f1cab79c24305845221c0482f852a안녕하세요! 해설강의 잘 들었습니다. 먼저 강의 전에 문제 풀때 제가 생각한 방식은 인덱스 0부터 *나올때까지 1씩 증가하면서 비교,인덱스 마지막부터 *나올때까지 1씩 감소하면서 비교 해서NE, DA 출력하게 만들었습니다. Dev C++에서는 출력이 올바르게 나오지만 백준 문제에서 코드를 작성했을땐 틀렸습니다로 나옵니다. 반례나 어느부분이 틀렸는지 궁금해서 문의드립니다!
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
강의 내용 BOJ3085 질문 있습니다
변화만 생기는 곳만 체크한다고 하셨는데, 예로 들어 한 행의 두 원소를 바꾸면 그 두 원소의 열과 그 행을 살펴보면 된다고 하셨는데, def get_best(y, x): global N, matrix best = 0 # columns bef = '-' value = 0 for j in range(N): if bef == matrix[y][j]: value += 1 else: value = 1 bef = matrix[y][j] best = max(best, value) # rows bef = '-' value = 0 for i in range(N): if bef == matrix[i][x]: value += 1 else: value = 1 bef = matrix[i][x] best = max(best, value) return best 왜 바꾼 원소 기준으로 그 원소 위치의 하나의 행과 열만 보는걸로 코드를 짜셨나요?설명과 코드가 달라서 약간 이해가 안 갑니다 ㅜ
-
미해결2주만에 통과하는 알고리즘 코딩테스트 (2024년)
다익스트라 강의에서 shortest_finder 함수는 항상 시작한 노드를 리턴하지 않나요?
내용무!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-J 맞왜틀 질뮨
Q두개를 만들어서 맞았습니다 근데 그전에 Q1개를 만들었던 방식이 예제는 다 맞는데 WHY? 틀렸는지 모르겠습니다.. http://boj.kr/dcc9afeed89b4ca99e5c33617d5757d9
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
istringstream 사용 질문
안녕하세요, 큰돌님.split() 함수에 대해 잘 학습 후 공부 하던 중 궁금한 게 생겨 질문드립니다.split() 함수의 경우 문자열을 특정 구분자 delimiter를 기준으로 분할하는 기능을 제공해주고 있습니다.큰돌님의 예시와 같이 " " (빈칸) 으로 구분하여 문자열을 분할하는 경우에는 c++ 표준 라이브러리 <sstream> 헤더에 포함된 'istringstream' 을 사용하는 것이 더 효율적인거 같은데큰돌님께서는 istringstream에 대해서는 어떻게 생각하시는 지 궁금합니다.좋은 강의 감사합니다. 질문자 올림.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
반복문 사용 (간단..?)
const solve = (a,b) => { let left = 0, right = 0 const n = a.length + b.length; const answer = []; for (let i = 0; i < n; i++) { if (a[left] < b[right]) { answer.push(a[left]); left ++ } else { answer.push(b[right]) right ++ } } console.log(answer) } const a = [1,3,5]; const b = [2,3,6,7,9] console.log(solve(a,b));반례가 있을까요?
-
해결됨코딩테스트 [ ALL IN ONE ]
시간복잡도 질문 드립니다.
list의 시간복잡도를 설명하실 때 visited = [True, True, False, True, False, True, False]# if visited[3] == True:if visited[3]: print("room number 3 visited")이 코드에서 입력값 n에 따라 visited의 길이가 n으로 바뀌는 거면 visited 리스트를 n개의 원소로 초기화하는데에 걸리는 시간은 O(n)이므로 , if visited[3]: 이부분에서의 시간복잡도가 O(1)이여도 코드의 총 시간 복잡도는 O(n) 아닌가요 ??