묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
혼자 푼 방법에서 2번이 런타임에러가 나오는데 어디가 문제인지 알고 싶습니다.
우선 설명해주신 방법을 이해하였는데 강의를 듣기전 혼자 풀어본 방법으로는 주어진 알파벳의 위치를 담는 list를 만들어 넣어 놓고 이후에 문자에서 해당 알파벳이 아니면 그 문자의 위치가 리스트의 위치에 해당하는 값과의 차를 구하여 절대값을 씌워 구하게 하였습니다.문제는 채점중 2번 문제가 런타임 에러가 나오는데 어느 부분에서 문제가 되는지 알고 싶습니다!import java.util.*; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); String word = in.next(); Character standard = in.next().charAt(0); List<Integer> position = new ArrayList<>(); for (int i=0; i<word.length(); i++){ if(word.charAt(i) == standard) position.add(i); } int lf = 0; String result = ""; int check = 0; for(int i=0; i<word.length(); i++){ if(word.charAt(i) == standard) { result += "0"; if(check != 0) lf++; check = 1; } else{ int left = Math.abs(position.get(lf)-i); int right = Math.abs(position.get(lf+1)-i); if(left>right) result += right; else result += left; } if(i == word.length()-1) break; else result += " "; } System.out.println(result); } }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-A 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요! http://boj.kr/8c457baae3554ac38764f81d351201bc제가 생각한 문제 풀이는 총 9명 키의 합에서 100을 빼면 난쟁이가 아닌 2명 키의 합이 나온다고 생각했습니다.9명의 키합 - 100의 값을 ss로 정하고 for문을 돌면서 2명의 합이 ss가 나오면 해당 두명을 erase를 사용해 제거해서 출력하는 방식으로 코딩했습니다. Devc++에서 입력받고 출력도 잘 나오는데 반례가 있는지 백준 제출하면 틀렸다고 나오는데 어떤게 문제인지 모르겠어 질문남깁니다! 감사합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-H 메모리 초과 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.선생님 안녕하세요저는 경로에 대해서 string으로 저장하고탈출시 출력하는 로직으로 작성했는데왜 메모리 초과가 나는지 모르겠습니다.알려주시면 감사하겠습니다...http://boj.kr/92e022062d0148faa40d478f052dfc89
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
fill 초기화 해주는 부분 질문
안녕하세요! 궁금한점이 있어 질문 드립니다.fill(&visited[0][0], &visited[0][0] + 101 * 101, 0);초기화 해주는 부분은 이해를 하였습니다.그런데 &visited[0][0] + 101*101 이 부분이 이해가 가지 않습니다. 깊이 생각하지 않고 배열의 모든 부분을 순회 하면서 초기화 해준다고 생각하면 될까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-C 어느 부분이 틀렸는지 모르겠습니다.
https://www.acmicpc.net/source/share/e76dff0067f048f28c1a105de7d81014강의를 봤는데도 코드가 왜 틀린건지 잘 이해가 안되네요. 테케는 통과했는데, 2%에서 틀립니다. 리뷰 부탁드립니다!
-
미해결김영한의 실전 자바 - 중급 2편
혹시 고급편은 언제 나오는 지 알 수 있을까요?
스프링을 공부하다가 람다, 스트림에 대한 학습이 부족해서 막혔는데 혹시 고급 편 강의가 언제 나올 수 있을지 대략적이라도 알 수 있을까요?... 다른 시중 강의를 구매하고 볼지 아니면 김영한 님 강의를 기다릴지 고민입니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 이분탐색 풀이 질문
안녕하세요, 1-L 문제 이분탐색으로 풀어보았는데요.lower_bound함수는 목표값을 찾지 못하면 해당 벡터 끝 다음 이터레이터 즉 코드상 arr.end()를 반환하니 lower_bound 실행 후 arr.end()인지 아닌지만 체크해주면 값을 찾았다로 생각했습니다. 그러나 실행시켜보니 조건문에 추가로 &&*it == goal를 적어주어야 성공이고 밑에 첨부한 링크와 같이 이 과정을 생략한다면 틀렸습니다라고 나옵니다. 이유를 알 수 있을까요?http://boj.kr/7f90a9926f17477394e238b900523acc
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L map방식 실패
안녕하십니까 강의 잘 보고 있습니다.결론적으로 테스트 케이스는 성공하였는데 왜, 어떠한 부분에서 실패가 떴는지 감이 잡히지 않아 글을 올립니다. 저는 map을 사용하여 풀어보았습니다.need라는 변수를 만들어 map을 한 번 순회하면서 필요한 값이 무엇인지 담고, 그 값이 map에 있으면 (현재 for문의 값, 필요한 값) 을 각각 마이너스를 해주는 형식으로 했습니다.조건절에는 빌드를 해보니 map에 담겨 있지 않은 요소를 비교할 때 공간이 생기면서 값이 0으로 생겨나는 것 같아서 둘 다 값이 있을 때만 실행하게 하였습니다.아래는 주소입니다.http://boj.kr/6072aa9514324b318f45514ef0412868
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-B번 문제 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.http://boj.kr/a88688ffea6947d2ada21dbb5775c405안녕하세요 해당 문제를 입력을 string s로 받고 s를 0부터 sizeof(s)까지 돌면서 a~z에 해당하는 값을 1씩 증가시켜 마지막에 모두 출력했는데 어떤 부분에 오류가 있는지 모르겠습니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
인접 행렬 다른 풀이
#include <bits/stdc++.h>using namespace std;bool V[10][10];bool visited[10];void dfs(int start) { if (visited[start]) return; visited[start] = true; cout << start << ' '; for (int dir = 0; dir < 10; dir++) { if (V[start][dir] && !visited[dir]) { visited[dir] = true; dfs(dir); } }}int main() { cin.tie(0)->sync_with_stdio(0); V[1][2] = true; V[2][1] = true; V[1][3] = true; V[3][1] = true; V[3][4] = true; V[4][3] = true; for (int i = 0; i < 10; i++) { dfs(i); cout << '\n'; } return 0;}이렇게 짜도 되나요?
-
해결됨코딩테스트 [ ALL IN ONE ]
문제풀이 singly linked list - head&tail에서 '마지막 노드 제거'하는 함수 부분
안녕하세요~ 요즘 파이썬 알고리즘에 대해 알아가는게 선생님 덕분에 너무 재미있습니다!그런데 선생님이 제공하신 문제풀이 singly linked list - head&tail에서 '마지막 노드 제거'하는 함수 부분이 혹시 잘못된 것인가 해서 여쭈어 봅니다. # 시간복잡도 O(n) def remove_back(self): current = self.head last_index = self.size - 1 for _ in range(last_index - 1): current = current.next_ current.next_ = current.next_.next_ self.tail = current.next self.size -= 1 함수에서 나오는 self.tail = current.next로 되어있는데,self.tail = current로 작성해야 하는게 아닐까요?혹시 제가 틀렸다면 설명해 주시면 감사하겠습니다~
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문있습니다.
입력을 받을 때마다 조건문 돌려서 판별할 생각을 못하고 배열로 다 받아서 했더니 문제를 더 어렵게 풀어버렸습니다. 음.. 강의 코드 보면서 제가 푼 문제가 이렇게 쉽게 풀릴 수 있는 문제구나라고 알게 되었습니다.혹시 제 코드에 문제점이 있는지 확인해주실 수 있으신가요? 채점 파일에서는 다 맞았다 뜨는데 혹시 몰라서 질문 드립니다. 좋은 강의 항상 감사드립니다. 강의 보면서 열심히 공부하겠습니다.#include <iostream> #include <stdio.h> #include <string> #include <fstream> #include <vector> using namespace std; int main() { ios_base::sync_with_stdio(false); int n; cin >> n; vector<int> table(n); for (int i = 0; i < n; i++) cin >> table[i]; int max = 1; int cnt = 1; int idx = 0; int prev = table[0]; int count = 1; while (idx + count < table.size()) { if (table[idx + count] >= prev) { cnt++; } else { idx = idx + count; cnt = 1; count = 0; } prev = table[idx + count]; count++; if (cnt > max) max = cnt; } cout << max << "\n"; return 0; }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-J 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.http://boj.kr/604e8201aae24300845cde414a1f4416http://boj.kr/604e8201aae24300845cde414a1f4416선생님 강의보고 생각하면서 유사하게 만들어봤는데 틑렸다고 나옵니다 ㅠㅠ 정답 코드랑 비교해도 어떤 부분이 틀렸는지 확인이 안되서 ㅠㅠ 질문 남깁니다. 감사합니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
코드 질문 있습니다.
8.팰린드롬 문제 관련 입니다.String temp = new StringBuilder(str).reverse().toString();이 부분에서 스트링빌더를 문자열로 다시 바꿔주는데문자열을 왜 다시 문자열로 바꿔주는지 이해가 안갑니다.. 인풋값으로 문자열이 아닌 다른값을 받아왔을때를 위한 코드인지 궁금합니다.- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨김영한의 실전 자바 - 중급 2편
3. 컬렉션 프레임워크 - ArrayList 강의 교안 오타 제보
[오타 제보 내용]3. 컬렉션 프레임워크 - ArrayList 교안 pdf직접 구현하는 배열 리스트2 - 동적 배열배열의 크기를 초과할 때(5) 이렇게 증가된 배열에 데이터를 추가하면 된다. 물론 데이터가 추가되었으므로 size 도 하나 증가시킨다.기존 배열( x001 )은 더는 참조하는 곳이 없으므로 GC의 대상이 된다.그림에서는 x100으로 나와있는데, 교안에는 기존 배열의 주소를 x001로 표시하고 있습니다.기존 배열의 주소값 확인 부탁드립니다.직접 구현하는 배열 리스트3 - 기능 추가주제 내용 맨 첫 부분에 나오는 add(Index, 데이터)와 remove(Index)의 파라미터가 Index라고 I가 대문자로 나와 있습니다.i(소문자) 확인 부탁드립니다.감사합니다.
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
BOJ23246
N = int(input())words = [list(map(int, input().split())) for _ in range(N)]medal = sorted(words, key= lambda x : (x[1]*x[2]*x[3], x[1]+x[2]+x[3]))for i in range(0,3): print(medal[i][0], end = ' ') 다음은 제가 짠 코드입니다. n = int(input())infos = [list(map(int, input().split())) for _ in range(n)]infos = sorted(infos, key=lambda x : (x[1] x[2] x[3], x[1] + x[2] + x[3], x[0]))for b, p, q, r in infos[:3]: print(b, end=' ') 이건 알리님 코드인데요,마지막 for문 빼고는 똑같은데, 이상하게 제거는 틀렸다고 뜨네요.시간 복잡도 때문일까요?? 이유 알려주시면 감사하겠습니다
-
미해결독하게 C를 배운 사람을 위한 선형 자료구조
CPU의 다른 이름 Machine 강의 질의
안녕하세요.강의를 보다가 학습과는 크게 상관없는 부분이지만 잘못 언급을 하신것 같아서 질문 게시판에 글을 남깁니다.UNIX 운영체제를 만드신, 켄톰슨 선생님이 돌아가셨다고 얘기하시는 부분이 있는데켄톰슨 선생님이 아니고 데니스 리치 선생님을 얘기하신다는게 잘못 얘기하신게 아닌가 생각이 듭니다.별거 아니긴 한데, 멀쩡히 살아계시는데 돌아가셨다고 하신 부분이 그냥 찝찝해서 글 남깁니다. 좋은 하루 되세요!!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 재질문
선생님 답변 감사합니다답변 확인후에 BFS로 수정해보았는데여전히 시간초과가 발생이 되네요..제가 보기엔 효율을 좋게 했다고 생각하는데왜 새로운 코드에서도 시간초과가 계속 발생하는지 답변 부탁드립니다...모르겠어요...gpt는 선생님 코드와 제 코드 비교했을때 시간복잡도 측면은 별차이 없다고 하는데 말이죠.. http://boj.kr/9dbda62580614b358e26e41ec3073620
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-p 순서 혼란
x,y 순서가 혼란이 옵니다.이 문제에서처럼 pair에 (first,second)를 넣는 상황이라던지 ny, nx의 범위를 따질때 ny>=n인지 ny>=m인지 혼란이 와서 정리를 하려고 합니다.큰돌님께서는 (y,x) 순서를 기반으로 dfs bfs를 만드시는데 main이나 solve에서는 i,j 순서로(n,m 순서로) 입력받고 처리하시는거 같아 문의드립니다.dfs bfs 이외에 코드에서는 다 반대로 i,j를 x,y 순서로 받는 방식으로 맵이나 리스트를 생성 한 후 탐색만 y,x 방향으로 하시는건가요?n,m이 같은경우는 상관없을거같은데 이와같이 n,m이 다른경우 (x,y),(i,j),(n,m),(first,second) 등등 순서에 있어서 자주 실수를 해서 질문드립니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-M 질문 있습니다.
안녕하세요 큰돌님, 강의 잘 듣고 있습니다.7-M의 시간복잡도 계산에 관해 질문드리고 싶습니다.큰돌님은 본 문제를 풀 때 시간복잡도를 어떻게 계산했는지 궁금합니다.특히 각 칸에서 양분을 줄 때, 나무의 개수가 명확하지 않은 상태해서 sort를 해야하는데, 이때 sort의 시간복잡도인 O(NlogN)에서 N을 어떻게 설정하셨는지 궁금합니다.감사합니다.