묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
코드 정리한 것들 깃허브에 올려도 되나요?
강사님 안녕하세요. 강의 정말 잘 듣고 있습니다!매일 5문제씩 꾸준히 풀고 있는데,, 깃허브에 올려도 될까요?
-
해결됨코딩테스트 [ ALL IN ONE ]
강의 자료 요청 드려요.
노션 이메일 : realbig4199@gmail.com구글 폼도 작성했는데 조금이라도 빨리 받고 싶어서 글 남깁니다.좋은 강의 감사드려요!
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
해시테이블 개방번지화
해시테이블 개방번지화 방법에서 빈 공간을 찾는 방식을 알았는데, key를 넣었을 때 해시값을 찾을 때가 궁금합니다. 예를 들어 key로 daniel이 들어왔다면 체인법에서는 해당 해시값에서 모든 노드를 검사에 있는지 확인할 수 있었잖아요.개방 번지화 방법에서는 다른 주소로 저장할 수가 있는데, 그러면 계속 뒷 메모리를 끝까지 검사하면서 찾아보아야 하나요?아니면 마지노선이 있어서 daniel이 없다는 걸 화정하고 넘어갈 수 있는 기준이 있는건가요? 너무 깊숙히 생각하는 것 같지만, 시간복잡도가 끝없이 늘어나는 건지 걱정이 되서 질문드렸습니다. 감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간초과
아무리 해도 시간 초과 나고 심지어 강의 코드 그냥 똑같이 써도 시간초과가 나네요. 심지어 ret2 안구하고 그냥 ret5만 구해서 계산해도 시간초과입니다.ios_base::sync_with_stdio(false);cin.tie(NULL); cout.tie(NULL); 이거 안썼다고 시간초과 난다고 틀렸다고 하는건 비정상이라고 생각합니다. 실제 프로그래밍할 때 써야하는 것도 아니고 무슨 저거 썼는지 안썼는지 확인을 하는지 어이가 없네요. ㅋㅋ 이게 무슨 알고리즘 테스트인지.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
모법단안에서 질문이있습니다.
언제나 좋은 최상의퀄리티 수업을 듣고있음에 감사합니다.모법답안에서 질문이있는데요 의상이름과 종류 입력받을때 중간에 공백이 존재하는데 getline안써도 무방한가요?감사합니다 좋은하루보내세요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 반례 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 제목과 같습니다. 아래 링크에 해당하는 코드의 반례를 알고싶어서 질문남깁니다. 항상 감사합니다.https://www.acmicpc.net/source/share/2c4c4086a4314e4688e24d7cbe8d1b4b
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
string vs StringBuilder 어느 것을 사용해야 될까요?
안녕하세요! 너무 간단한 질문이지만, 초심자라 .. 질문 드리고 싶습니다 지금까지 String을 합칠때 '+' 을 사용하여 왔습니다. 그런데 StringBuilder에 대해 공부를 좀 하고 보니 이대로 사용하면 괜찮을까? 고민을 하게 되었습니다. 물론, 문제마다 다르겠지만, 코딩테스트를 시험치러 갈때 StringBuilder를 사용하지 않았다고 해서 시간초과가 뜨거나 그렇진 않을지 궁금합니다. 지금부터라도 StringBuilder로 사용하는 것이 맞을까요?
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
도전과제 14078 막대기문제 질문
안녕하세요 선생님 막대기 알고리즘 풀이법에 질문있습니다for i in range(len(stick)-2, -1, -1): if stick[i] > maxN: maxN = stick[i] answer += 1 return answer 이부분에서 len(stick)-2 를 해주는 이유가 무엇인지 질문드립니다. 감사합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K 맞왜틀?
http://boj.kr/1cea1d70b28a4da8b871d48acb7c4907 홀수가 2개 이상이면 팬린드롬이 불가하고 아니면 팰린드롬을 만드는데알파벳 개수가 1개이면 홀수 문자에 넣고 아니면 개수의 반 만큼 word에 넣는다 이때, 홀수개이면 홀수 문자에 넣고 끝에 추가한다 그리고 뒤집은 word를 추가한다 이런 식으로 짰는데 실행하면 맞는데 왜 틀렸다고 뜨는지 궁금합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-a 방문처리차이
http://boj.kr/e4c18d04514e406f88c1af0ce04953cb http://boj.kr/04682590a73c47c992a3437b78c555d0 비슷한 조건인거같은데 한쪽은 통과하고 한쪽은 메모리초과네요 어째서죠?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
10 20 11 12 13 일때 20자리에 11이 갱신되는게 어떻게 되는건지 모르겠습니다
*lowerPos가 뭘 가르키고 배열이 어떻게 되는지 더 자세하게 설명해주시면 안될까요 ㅠㅠ
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
매출액의 종류 문제 질문있습니다.
해당 문제를 다음과 같이 풀었는데 RunTime Error가 발생하는 이유가 뭘까요 ?혹시 시간초과가 되는것일까요 ? import java.util.HashMap; import java.util.Scanner; public class No3 { public static void solution(int n, int m, int[] arr) { HashMap<Integer, Integer> map = new HashMap<>(); int[] answer = new int[m]; int lt = 0; for (int i = 0; i < m; i++) { map.put(arr[i], map.getOrDefault(arr[i], 0) + 1); } answer[0] = map.size(); for (int rt = m; rt < n; rt++) { map.put(arr[lt], map.getOrDefault(arr[lt], 0) - 1); map.put(arr[rt], map.getOrDefault(arr[rt], 0) + 1); if (map.get(arr[lt]) == 0) map.remove(arr[lt]); answer[++lt] = map.size(); } for (int x : answer) System.out.print(x + " "); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) arr[i] = sc.nextInt(); solution(n, m, arr); } }
-
해결됨코딩테스트 [ ALL IN ONE ]
강의 자료에 첨부된 사진 개인 블로그에 사용해도 되나요?
혹시 dp 설명중에 사용하신 사진과 설명을 gif로 해서 블로그에 적어놓으면 이해에 도움이 될거 같은데 사용해도 될까요? 출저는 밝히도록 하겠습니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
9-3. 결혼식 질문있습니다.
import java.util.*; import java.io.*; class Main { static int N; static class Time implements Comparable<Time>{ int time; char state; Time (int time, char state) { this.time = time; this.state = state; } public int compareTo(Time t) { if(time > t.time) { return 1; }else if(time == t.time) { if(state != t.state && t.state == 'e') { return 1; } } return -1; } } public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; N = Integer.parseInt(br.readLine()); ArrayList<Time> guests = new ArrayList<>(); for(int i = 0; i < N; i++) { st = new StringTokenizer(br.readLine()); int start = Integer.parseInt(st.nextToken()); int end = Integer.parseInt(st.nextToken()); guests.add(new Time(start, 's')); guests.add(new Time(end, 'e')); } Collections.sort(guests); System.out.println(solution(guests)); } public static int solution(ArrayList<Time> guests) { int ans = 0; int cnt = 0; for(Time t : guests) { if(t.state == 's') { cnt++; ans = Math.max(ans, cnt); } else { cnt--; } } return ans; } }제가 작성한 코드는 위와 같습니다. 강의에서 나온 코드와 거의 흡사한데 채점을 하면 런타임 에러가 발생합니다. 무슨 문제일까요?감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 질문입니다.
안녕하세요.저는 set을 사용해서 문제를 해결했습니다. 그런데 시간을 더 줄여보려고 코드를 수정했는데 틀리다고 나옵니다. 수정한 코드가 왜 잘못되었는지 모르겠습니다. 알려주시면 감사하겠습니다. 수정한 코드 http://boj.kr/e812a45ff3e34a8e9a22e97cce7e113f 원래 코드http://boj.kr/039878b27e594e0c90895f1414ab061d
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K 팰린드롬 만들기 반례를 찾지 못하겠습니다.
안녕하세요. 강의 잘 수강하고 있습니다.해설 강의 보기 전에 문제를 먼저 풀어봤는데 계속 틀렸다고 나옵니다. 반례를 찾지 못하겠습니다.일단 제가 생각하기엔 알고리즘이 맞는 것 같고 해설 강의와도 사실상 똑같은 알고리즘입니다. 저는 홀수인 경우 짝수인 경우만 나눠서 짰는데 기본적인 원리는 똑같네요. 웬만한 반례를 찾아 돌려봐도 제대로 나오는데 백준은 자꾸 틀렸다고 하네요.http://boj.kr/c698570bbcae4b859fbfdf13b4fac684 뭐가 문제인지 모르겠습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-B 맞왜틀???
테스트 케이스는 다 맞고코드도 틀린부분이 어딘지 모르겠습니다 ㅠㅠ#include <iostream> #include<string.h> using namespace std; const int MAX = 51; const int dy[4] = { -1,1,0,0 }; const int dx[4] = { 0,0,-1,1 }; int T, N, M, K, cnt; int adj[MAX][MAX]; bool visited[MAX][MAX]; void dfs(int y, int x) { visited[y][x] = true; for (int i = 0; i < 4; i++) { int ny = y + dy[i]; int nx = x + dx[i]; if (ny < 0 || ny >= N || nx < 0 || ny >= M) continue; if (adj[ny][nx] == 0) continue; if (visited[ny][nx]) continue; dfs(ny, nx); } return; } int main() { cin >> T; for (int i = 0; i < T; i++) { cin >> M >> N >> K; cnt = 0; memset(visited, false, sizeof(visited)); memset(adj, 0, sizeof(adj)); for (int j = 0; j < K; j++) { int y, x; cin >> x >> y; adj[y][x] = 1; } for (int y = 0; y < N; y++) for (int x = 0; x < M; x++) { if (visited[y][x]) continue; if (adj[y][x] == 1) { dfs(y, x); cnt++; } } cout << cnt << '\n'; } return 0; }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-D 시간복잡도 관련 질문입니다
안녕하세요 선생님 수업 듣는 중에 의문점이 생겨서 질문드립니다.6-D(7795) 번 문제 같은 경우에는 입력값의 범위가 1~20000까지로 완전 탐색으로 풀게 된다면n^2의 시간복잡도를 가져 시간 초과가 날 줄 알았습니다.하지만 그렇게 풀어보니 시간 초과가 나지 않고 정상적으로 통과가 되네요어떤 이유 때문인지 궁금합니다!#include<bits/stdc++.h> using namespace std; int T, N, M, num; vector<int> A; vector<int> B; int main() { cin >> T; while (T--) { cin >> N >> M; A = vector<int>(N); B = vector<int>(M); for (int i = 0; i < N; i++) cin >> A[i]; for (int i = 0; i < M; i++) cin >> B[i]; sort(A.begin(), A.end()); sort(B.begin(), B.end()); int cnt = 0; for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { if (A[i] > B[j]) { cnt++; } else break; } } cout << cnt << "\n"; } return 0; }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
경우의 수 질문드립니다.
안녕하세요 큰돌님 코드 질문은 아니고 경우의 수 질문인데요x, head1, head2 -> 3가지x, eye -> 2가지x, patns1, pant2 -> 3가지 아무것도 입지않는 경우의 수 1을 빼주는 것이 알몸인 상태인 경우를 빼주는 것이니 무조건 위의 경우에도 무조건 1만 빼줘서3 x 2 x 3 -1 = 11 로 생각하는게 맞는건가요?듣다보니 헷갈려서 질문 드려봅니다
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
반례 궁금합니다.
http://boj.kr/4dc8f27d6a09443a916061fc1ac7800c반례가 궁금합니다.dfs와 비트마스킹을 함께 사용해서 구현했고 테스트케이스 및 질문게시판의 반례도 다 통과했습니다만 1%대에서 바로 오답이 나옵니다. p.s. 비트마스킹 챕터에 있는 문제라 비트마스킹을 써봤는데, 굳이 이런 문제에 비트마스킹을 쓸 필요가 없었을까요? 앞으로 코테를 풀 때 메모리가 부족할 만큼 수의 범위가 크면 비트마스킹만 쓰면 될까요? 이 문제도 노드가 최대 1000개에 엣지가 1000000개 까지 가능하니 비트마스킹을 써야겠다고 생각습니다.