묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-H compSize 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.문제 풀이는 잘 이해가 갔습니다.그래서 손코딩 해보고 코드를 제출했는데 틀렸다고 나오길래 찾아보니깐..제가 compsize[1004]로 해서 틀린 거 였습니다. 수정해서 맞기 했는데.. 1004도 넉넉하다고 생각했는데 제가 잘 못 생각한 걸까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
word |= 가 이해가 안 됩니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.words[i] |= (1 << (str - 'a')); 이 코드 부분이 이해가 안 됩니다. abcabc 라는 문자열을 숫자로 표현하고 싶다는 건 알겠는데.. abcabc가 7인게 이해가 안 됩니다.a(1)b(2)c(4)a(1)b(2)c(4) => 14 아닌가요..? 왜 7인건지..
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-H 질문 있어요!
http://boj.kr/981e1180bdc04bcc847ce9ae1e0b9c5c강의 듣기 전에 먼저 풀어봤는데 도저히 모르겠는 부분이 있어서 질문 드려요!중간에 반복문을 for(int i = 1 ; i <= N-M; i++)가 아니라for(int i = 0 ; i < N - M + 1; i++)로 했을 때 반복 횟수가 달라서(후자의 반복이 1회 더 많아서) 34%에서 틀렸는데,후자의 반복문이 필요 이상으로 반복을 한다면 f_index가 인덱스 범위를 벗어나서 어떤 테스트 케이스에서든 문제가 생겼어야 할 거 같은데 왜 34%가 되서야 문제가 생겼을까요?컴파일러에서 예외 발생이라도 떠야했을 거 같은데요..답변 감사해요 강의 잘 보고 있어요!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-Q 질문있습니다 :)
안녕하세요 선생님 🙂 어려운 문제는 아니었던거 같지만 모르겠는 부분이 생겨서 질문 드립니다. visual studio에서는 배열의 범위가 초과되었다는 에러가 계속 뜹니다. 선생님 코드와 다른 점이 없는지 여러 번 검증해보았지만 차이가 없어서 백준에 제출해봤는데요, 맞았다고 하더라구요.. arr의 크기를 18이 아닌 20으로 잡아도 동일한 에러가 잡힙니다. 컴파일러에서 왜 에러가 뜨는건지 모르겠습니다.. http://boj.kr/f91936720fc54768adb00def9dc32b35 메모이제이션 범위가 이해되지 않아 다른 숫자들로 넣어봤는데요, 0.0까지는 문제가 없더라구요. 메모이제이션 범위를 -0.5로 두신 이유가 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-F 코드 확인 부탁드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요~ http://boj.kr/e9c207f2a03a40c58f133d577488e3a3 *0 일때 반례 까지 추가 했는데 틀렸다고 나와서 질문 드립니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-B 풀이 로직 질문
http://boj.kr/80b5da8858994a9a9bca1bfbd7ce56a8 안녕하세요 선생님.DFS로 파이프의 position을 dp로 저장하면서 풀이를 진행했는데 이렇게 접근해도 괜찮은지 여쭤봅니다.감사합니다!
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
set을 활용한 중복제거
안녕하세요 저는 set을 사용해서 중복을 제거하고 sort함수를 활용한 코드를 작성해봤는데 문제의 시간복잡도 조건에 맞는지 궁금합니다 감사합니다def solution(nums): answer = 0 length = len(nums) #사탕의 총 개수 type = sorted(list(set(nums)), reverse=True) if length > len(type): answer = len(type) elif length <= len(type): answer = len(type) // 2 return answer
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
안녕하세요 선생님 격자판 최대합 테스트케이스를 추가해주세요
안녕하세요 강의 잘 듣고있습니다 다름이아니고 격자판 최대합 문제를 푸는 와중에 제가 오른쪽 위에서 왼쪽 아래로 향하는 대각선 코드를 짜지않았음에도 불구하고 정답처리가 되어 질문드립니다 복습하는 와중에 코드를 리뷰하고있는데 제가 오른쪽위에서 왼쪽 아래로 향하는 대각선 코드를 제대로 작성하지 않았음에도 불구하고 정답처리가 되어 말씀드립니다. 혹시 제가 오해하는 부분이 있다면 정말 죄송합니다 확인 부탁드립니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
구조체 선언 위치에 따른 시간초과
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 해당 정답 코드를 보며 다시 풀어보고 있는데,구조체를 선언 하는 위치만 아래 코드 처럼 바꾸었는데 시간초과가나네요.. 원인을 모르겠습니다.#include <bits/stdc++.h> #define max_n 100 using namespace std; const int dx[] = {0, 0, 1, -1 }; const int dy[] = {-1, 1, 0, 0 }; int shark[max_n][max_n], R, C, M, ret, temp[max_n][max_n]; struct Shark { int y, x, s, dir, z, death; }a[max_n*max_n];84063864번 소스 코드 (acmicpc.net)
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-D 질문 있습니다.
이코드에서 DFS를 재귀적으로 호출하면 cnt 매번 1로 초기화 되서 결국은 1이 출력 되지 않나요??int DFS(int y, int x){ int cnt = 1; visited[y][x] = 1; for(int i=0; i < 4; i++){ int nx = x + dx[i]; int ny = y + dy[i]; if(nx < 0 || ny < 0 || nx >= w || ny >= h || a[ny][nx] == 0) continue; if(visited[ny][nx]) continue; cnt += DFS(ny,nx); } cout << y << " : " << x << " : " << cnt << "\n"; return cnt; }
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 맞게 작성한 거 아닌가여??
저는 맞게 푼 거 같은데... 물론 코드의 효율성은 떨어질지 몰라도 제대로 푼 거 같은데 왜 챗 지피티는 계속 틀렸다고 하죠? function solution(n, arr) { let answer = 0, max = Number.MIN_SAFE_INTEGER; let stringNum = arr.map(String); for (let i = 0; i < n; ++i) { let stack = 0; for (let j = 0; j < stringNum[i].length; ++j) { stack += parseInt(stringNum[i][j]); } if (max <= stack) { max = stack; if (answer < arr[i]) answer = arr[i]; else answer = answer; } } return answer; } let arr = [700, 331, 43, 151, 511]; console.log(solution(5, arr));
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I 질문 있습니다
안녕하세요 큰돌님 3-I 문제에서 왜 visited를 2차원으로 구현해야 하는 지 이해가 잘 안갑니다.. ㅠㅠ 저는 수빈이는 visited1 , 동생은 visited2 로 따로 visited배열을 만들고 각각 거리를 구해놓은 뒤에 두 개가 같은 경우 , 수빈이가 먼저 도착하고 동생이 짝수 시간 뒤에 도착하는 경우 이렇게 두 가지 경우로 해서 결과를 찾았습니다. 문제 예제는 다 통과하는 거 같긴 한데 제출하면 틀리다고 뜹니다 ㅜㅜ 그래서 궁금한 것은 1.왜 꼭 visited배열을 2차원으로 해야 하는지 제 코드대로 했을 때 예제는 통과하지만 제출하면 틀리는 이유는 무엇인지, 어떻게 수정해야 하는지 궁금합니다!!http://boj.kr/6caf1eeb09f842659601eb08eede7197
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
방법론 질문 있습니다
안녕하세요, 강의를 듣고 계신 여러분!여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다. 1. chatGPT를 이용해보기단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다! 2. 강의의 어떤 부분에 대한 질문이고, 어떤 부분이 궁금한지 명확히 알려주세요!강의의 어느 파트에서 의문을 느끼고, 어떤 부분이 궁금한지를 명확히 제시해 주시면 답변에 도움이 됩니다!자신은 어떻게 이해했는지 또한 적어주면 좋습니다! ex) 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의에서 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해했습니다. 그러면 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요? 어느 파트섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의자신은 어떻게 이해했는지DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해어떤 부분이 궁금한지 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요?일단, 강의 내용에서 약간 벗어난 질문이긴 합니다.백준 11054번 문제를 먼저 풀었는데,선택하거나 선택하지 않았을 경우를 분리해서dp1과 dp2를 튜플 쌍으로 갱신해주었는데요,근데 딱히 필요가 없는데, 하던 대로 하게 된 것 같아서요,, 그래서, 질문은`구현 없이 생각만으로 타당성을 따져보는 것이엄밀하고 구체적으로 따져지지 않다보니 생각이 뭔가 추상적이고 편하거나 해오던 방식에서 벗어나지 못하는 것 같습니다.구체성 있게 따져보는 방법과 정리에 대한 조언 부탁 드려도 될까요??`입니다. 항상 답변 감사합니다.아래는 참고 코드입니다.#boj11054 import sys input = lambda : sys.stdin.readline().rstrip() n = int(input()) arr = list(map(int, input().split())) increase = [[0, 0] for _ in range(n)] decrease = [[0, 0] for _ in range(n)] total = [0 for _ in range(n)] for i in range(n): for j in range(i): if arr[j] < arr[i]: increase[i][0] = max(increase[i][0], increase[j][0] + 1) increase[i][1] = max(increase[j][0], increase[j][1]) for i in range(n, -1, -1): for j in range(n - 1, i, -1): if arr[i] > arr[j]: decrease[i][0] = max(decrease[i][0], decrease[j][0] + 1) decrease[i][1] = max(decrease[j][0], decrease[j][1]) for i in range(n): total[i] = max(increase[i][0], increase[i][1]) + max(decrease[i][0], decrease[i][1]) print(max(total) + 1)
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1940번 주몽 / 배열 변수를 중간에 선언해도 되나요?
http://boj.kr/774f2ad1e5d94c7ba7b0f6273e6f4caa안녕하세요.배열변수를 int a[15001] 이렇게 잡으셨는데제 코드처럼 중간에 선언해도 되는건가요? 차이점 없나요?
-
미해결김영한의 실전 자바 - 중급 2편
SortMain2 클래스의 DescComparator 메서드 return 부분이 수정되어야 할 것 같습니다.
영한님 강의 너무 잘 보고 있습니다.다름이 아니라 Comparator를 공부하며 혼자 이것저것 해보던 중에 SortMain2 클래스의 DescComparator 메서드가 3,2,1 배열을 정렬하면 오름차순 으로 정렬되는 것을 확인하여 문의 드립니다.static class DescComparator implements Comparator<Integer> { @Override public int compare(Integer o1, Integer o2) { System.out.println("o1=" + o1 + " o2=" + o2); return (o1 < o2) ? -1 : ((o1 == o2) ? 0 : 1) * -1; } }강의에서는 오름차순 정렬된 1,2,3 배열을 내림차순 정렬해서 정렬이 문제가 없었지만만약 3,2,1 배열을 내림차순 정렬 하게 된다면, return (o1 < o2) ? -1 : ((o1 == o2) ? 0 : 1) * -1;첫번째 삼항 연산자 부분에서 앞에 o1, o2를 비교하고 -1 이 반환되며 오름차순으로 정렬 되는 것 같습니다.리턴 부분이 전체 비교 값에 -1이 곱해질 수 있도록return ((o1 < o2) ? -1 : ((o1 == o2) ? 0 : 1)) * -1; 로 수정 되어야 할 것 같아 문의 드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-I 왜 틀렸는지 모르겠습니다.
vector를 string으로 풀었다가 int로도 풀어보고 싶어 약간의 수정을 하여 제출하였는데 틀렸습니다. 다만 아무리 생각해도 반례가 떠오르지 않아 왜 틀렸는지 모르겠어서 여쭤봅니다. tc는 모두 통과했습니다.vector<int> 썼다가 틀린 코드 링크http://boj.kr/5d5a3056a5804d5daf25be09844dccfcvector<string> 써서 맞춘 코드http://boj.kr/82a463f3c16545f0990aeb8d2eadb2c7 + 고민해보던 중 각 줄의 최대 글자 수가 100자인데 정수(int. long long)로 할 경우 최대 100자의 값을 받을 수가 없어서 틀렸다고 생각이 들었습니다. 혹시 맞을까요?ㅎ-I2-I
-
해결됨코딩테스트 [ ALL IN ONE ]
노션이 사라졌습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 혹시 노션 기간이 있는걸까요??? 갑자기 사라졌습니다. 다시 초대해주시면 감사드리겠습니다 ㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
bfs 문제 dfs 로 풀 수 있나요?
안녕하세요. 그래프 문제만 나오면 dfs로 풀려고 합니다.ㅜㅜ 둘 중에 어떤 것으로 풀어야 하는 지 구분하는 방법이 있나요? 그리고 2589문제에서 <dfs로 짜고 기저 사례로 부터 1을 반환 시켜서 더해 나가는 방식> 또는 <dfs에 거리 파라미터를 추가하고 함수 호출할 때마다 1씩 증가시켜서 기저 사례에서 vector에 넣는 방식> 으로 풀어도 될까요?
-
해결됨SQL 코딩테스트를 위한 마지막 걸음
LAG, LEAD 강의 550. Game Play Analysis IV 관련 질문
https://leetcode.com/problems/game-play-analysis-iv/ 안녕하세요. 강의를 수강하고 있는 학생입니다.해당 문제를 1번 쿼리처럼 풀면 각각 1/3이 나타나는 것을 확인했습니다.하지만 2번 쿼리처럼 비율을 구하기위해 각각을 나누기하면 완전히 다른 값이 나타나는데 왜 그런것인지 질문드립니다.-- 1번 쿼리 SELECT COUNT(DISTINCT CASE WHEN A.info= A.pre_date THEN A.player_id END) , COUNT(DISTINCT A.player_id) FROM ( SELECT * , LAG(event_date) OVER (PARTITION BY player_id ORDER BY event_date) AS info , DATE_SUB(event_date, INTERVAL 1 day) AS pre_date FROM Activity ) AS A -- 2번 쿼리 SELECT ROUND(COUNT(DISTINCT CASE WHEN A.info= A.pre_date THEN A.player_id END)/COUNT(DISTINCT A.player_id),2) AS fraction FROM ( SELECT * , LAG(event_date) OVER (PARTITION BY player_id ORDER BY event_date) AS info , DATE_SUB(event_date, INTERVAL 1 day) AS pre_date FROM Activity ) AS A
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
해당 강의에서 C언어로만 진행하는 강의 문의 건
안녕하십니까해당 강의에서 진행하는 강의 중에 C++이 아닌 C언어로만 하는 강의는 몇 번 몇 번인지 혹시 파악이 가능할까요?