묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨김영한의 실전 자바 - 중급 2편
타입 이레이저 에서 나온 코드(EraserBox<T>) 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 타입 이레이저 를 복습하는 도중에 뭔가 이상한점을 발견해서 질문을 드립니다.영한님 강의에서 보면이런식으로 하셨는데여기서 의문이 2가지 생겼습니다.이때까지 영한님의 코드를 살펴보면제네릭 클래스를 만들고,타입 매개변수(private T value or t1;)를 만들었습니다.근데 여기에서는 바로 'T'를 사용 하셨습니다.그리고 2번째 메서드 에서return new T(); 라는 코드가 이해가 안 갑니다. 즉 첫 번째 질문은첫번째 메서드 에서 바로 'T'를 사용하신 이유가 궁금하고두번째 질문은return new T() 코드가 어떤 코드인지 설명 해주실수 있으신가요?답변 부탁 드립니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-L 코드 확인 부탁드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요~ 예제는 통과하는데 제출시 틀렸다고 나와서 질문드립니다. http://boj.kr/b1d4c42ec71748fdabeb464254740a90
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
재귀함수의 시간 복잡도
안녕하세요 큰돌님, 강의 잘 듣고 있습니다! 커뮤니티에서 나온 질문 중에 n이 이전에는 더하는 것의 개수까지 포함했었는데 이번 강의에서는 그냥 n으로 둬도 되냐는 질문이 있었습니다. 저도 같은 의문인 것 같아서 더 자세히 질문하고자 합니다!5-2. 문제로 연습하는 시간복잡도 -> 점화식 설명에서,등비수열의 합을 구하시면서 a(r^n-1)/r-1 => 1(2^log_2(n)+1 -1)/1 이런식으로 계산하여 등비수열의 합에서 n부분도 log로 표현하여 계산하셨었는데, 이번 강의인 7. 문제로 연습하는 시간복잡도 Q5의 경우 똑같이 등비수열의 합을 구하시면서a(r^n-1)/r-1 => 1(3^n-1)/3-1=>1/2 * (3^n-1) 로 n 부분은 그대로 n으로 두고 계산하신 것을 보고, 약간의 혼동이 온 것 같습니다. 언제는 트리의 높이로 구해야 하고, 언제는 n을 그대로 둬도 되는 건지 이런 부분에서 혼동이 오는 것 같아요.ㅠㅠn의 의미가 다른 것인지,제가 어디서 놓친 부분이 있는 것인지 짚어주시면 감사하겠습니다!! 항상 강의 잘 보고 있습니다! 감사합니다!
-
미해결김영한의 실전 자바 - 중급 2편
메모리 손실
[질문 내용]연결 리스트에서 메모리가 하나 손실되면 그 이후의 연결된 노드들은 어떻게 찾나요?
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
1강 연습문제 중 복습 문제 5번
해당 문제는 colab에서 코드를 적을 수 없도록 되어 있습니다. 확인 부탁드려요!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-H 맞왜틀 질문드립니다
http://boj.kr/2238929dcdd447bd938899d3c4e6c72f 도저히 반례를 찾을 수 없어서 질문 남겨봅니다 다 올바르게 작성한 것 같은데 반례가 찾아지질 않네요..ㅜ
-
미해결김영한의 실전 자바 - 중급 2편
제네릭 타입 변환
이 코드에서 E tempElement = (E) elementData[i];이 과정이 필요한 이유를 잘 모르겠습니다. 실제로 저장하는 타입은 E 타입인데 만약 제가 Object tempElement = elementData[i];이렇게 하면 E 타입 = Object 타입 ( 부모는 자식이 될 수 있어도 자식은 부모가 될 수 없다 )이게 안되기 때문인가요 ? 추가 질문 : Object 배열 안에 예를 들어 String , int 형이 다 들어 있는데, 우리는 타입을 String 을 지정했을떄저렇게 E tempElement = (E) elementData[i]; 을 해줘야 런타임이 아닌 컴파일 시점에서 에러를 발견하여 사전에 에러를 차단할 수 있는 것인가요 ?
-
미해결김영한의 실전 자바 - 중급 2편
제네릭 타입 관련 질문
@Override public int[] indexesOf(E element) { int[] arr = new int[size] ; int count = 0 ; for (int i = 0 ; i < size ; i++){ if( elementData[i].equals(element)){ arr[count++] = i ; } } return arr ; }여기에서 if 문을 if((E)elementData[i].equals(element) 로 하는게 (E) 를 넣지 않는 것보다 나을까요?그리고 누군가가 왜 낫냐고 물어보면 뭐라고 대답해줘야 하나요 ? 그리고 Objects.equals(elementData. element) equals 메서드와는 어떤 차이점이 있나요 ?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-O(#4949) 반례 질문 드립니다.
선생님, 안녕하세요, 표제의 문제 반례 질문 있어 문의 드립니다.http://boj.kr/5d827f3164d441c0aeded891ed97444b코드는 위와 같습니다. 강의에서 말씀주신 코드와 다른 부분은, 아래와 같이 string에 ')' 또는 ']'에 대한 처리 부분이 조금 다릅니다. [강의 코드] if(s[i] == ')') { if(stk.size() == 0 || stk.top() == '['){ check = false; break; }else{ stk.pop(); } [제가 짠 코드(오답)] else if(c == ')') { if((!stk.empty()) && (stk.top() == '(')) { stk.pop(); } else { flag = 1; break; } }이전 글자를 '('이냐 아니냐에 따라 true/false를 판단하는 방식 자체에는 큰 차이가 없어 보이는데, 현재로서는 적절한 반례를 떠올리지 못했습니다.관련되어 힌트를 주실 수 있다면 감사드리겠습니다. 감사합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-B 제가 개념을 잘 못 이해한걸까요?!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.L의 지점을 조합을 이용해서 시작과 끝점을 vector<vector<int>> landList에 저장해서 완전 탐색 식으로 위치를 바꿔가면서 최단거리를 만들어 봤는데 시간 초과가 났습니다. 250콤비네이션2이면 괜찮을거 같았는데 뭐가 문제일까요?? 2. 치킨배달에 풀이 아이디어를 이용해서 적용했는데 이런식으로 접근 방식도 맞을까요?? https://www.acmicpc.net/source/84507554#include <bits/stdc++.h> using namespace std; string s; int n,m,a[54][54],x,y,ex,ey; int visited[54][54]; vector<pair<int,int>>land; vector<vector<int>> landList; queue<pair<int,int>> q; vector<pair<int,int>>finish; const int dy[4] = {-1, 0, 1, 0}; const int dx[4] = {0, 1, 0, -1}; int ret = -1; void combi(int start, vector<int> v){ if(v.size() == 2){ landList.push_back(v); return; } for(int i = start + 1; i < land.size(); i++){ v.push_back(i); combi(i,v); v.pop_back(); } } int main(){ cin >> n >> m; for(int i =0; i <n;i++){ cin >> s; for(int j=0; j<m;j++){ if(s[j] == 'L'){ a[i][j] = 1; land.push_back({i,j}); } if(s[j] == 'W') a[i][j] = 0; } } vector<int> v; combi(-1,v); for(vector<int> lList : landList){ fill(&visited[0][0], &visited[0][0] + 54*54, 0); for(int ll :lList){ if(q.size() == 1){ finish.push_back({land[ll].first, land[ll].second}); }else{ visited[land[ll].first][land[ll].second] = 1; q.push({land[ll].first, land[ll].second}); } } while(q.size()){ tie(y,x) = q.front();q.pop(); for(int i = 0; i < 4; i++){ int ny = y + dy[i]; int nx = x + dx[i]; if(nx < 0 || ny < 0 || ny >= n || nx >= m || !a[ny][nx]) continue; if(visited[ny][nx]) continue; visited[ny][nx] = visited[y][x] + 1; if(visited[finish[0].first][finish[0].second]){ ret = max(ret, visited[finish[0].first][finish[0].second]); finish.clear(); break; } q.push({ny,nx}); } } } cout << ret+1 << "\n"; return 0; }
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
누적합 문제 3번 질문
텐트 세우기문제를 풀던 중, 가장 높은 높이를 만날때까지 왼쪽에서 오른쪽으로 진행하고, 이후에는 오른쪽에서 가장 높이를 만날때까지 역순으로 누적합 배열 2개를 만들어서 마지막에 더해서 해결하려고 했는데, 입력 예시랑 백준의 반례들 찾아서 집어넣어봤는데 모두 정상적으로 출력되는데, 제출하니 틀렸다고 나오네요. 하루종일 고민했는데 도저히 모르겠어서 질문 드립니다!#2304 미해결... TC = int(input()) x_list = [] y_list = [] graph = [0]*1001 for _ in range(TC): x, y = map(int, input().split()) graph[x] = y x_list.append(x) y_list.append(y) max_height = max(y_list) prefix = [0] check = 0 for i in range(1, max(x_list)): prefix.append(max(prefix[i-1], graph[i])) if prefix[i] == max_height: check = i break suffix = [0]*(max(x_list)) suffix[-1] = graph[max(x_list)] for i in range(max(x_list)-1, check, -1): if suffix[i] == max_height: break suffix[i-1] = (max(suffix[i], graph[i])) sum = 0 for i in range(len(prefix)): if prefix[i] != 0: sum += prefix[i] for j in range(len(suffix)): if suffix[j] != 0: sum += suffix[j] print(sum)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-D 문의드립니다
http://boj.kr/68954cd7572a49c190f202c6ba548867안녕하세요.저는 사각형이 있는 부분을 0으로 값을 할당하고 코드를 짰습니다.근데 테스트 케이스만 잘나오고 FAIL이 뜨는데 이유를 모르겠습니다ㅜ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
히든퀘스트 푸는법
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.링크를 눌러서 들어갔습니다. 각 단계의 제목을 누르면 여러 문제가 있는데 거기서 한 개만 풀면 되는건가요? 아니면 다 푸는 건가요? 헷갈려서 질문해 봅니다. 항상 좋은 강의 감사합니당!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-A 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. vector<vector<int>> b 와 vector<pair<int,int>> b의 차이가 뭔가요!??!? 한참동안 vector<pair<int,int>>로만 생각했는데 vector<vector<int>> b 형태는 처음 보는거 같습니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
채점페이지에서 계속 오답처리가 되는데 코드 확인해주실 수 있나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 주석처리 부분은 인강듣기 전 풀어본 코드이고, 주석 밑에는 인강을 보고 작성한 코드입니다.둘 다 결과값은 YES로 출력이 되는데 채점 홈페이지에서는 오답으로 처리되고 있어서 틀린부분이 어디인지 알고싶습니다..
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
조합과 순열 개념
제가 잘 몰라서 그러는데 조합, 순열 개념이 코딩테스트에서 중요한가요? 커리큘럼에 포함된 이유가 궁금합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
메모리와 포인터 질문 있습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님 제가 복습 메모리와 포인터를 다시 보고 있습니다. 문제 2주차를 마무리 하고 3주차를 진행하면서 메모리와 포인터를 개념을 생각하면서 문제를 풀어보지 않았던거 같습니다. 그냥 정수는 int, 2억 이상이면 long long, 배열 범위는 약간 크게... 이정도로 생각하면서 문제를 풀었습니다. 이번 강의를 보면서 "아 그렇구나, 맞아 그랬었지" 하면서 봤지 그런데 이게 문제에는 어떻게 적용되지? 라는 생각이 들었습니다. 이 개념이 문제에 적용 할때 중요한 부분이 있나요?
-
미해결김영한의 실전 자바 - 중급 2편
equals 메서드
여기에서 E 타입에 대해서 equals 메서드를 적용할 수 있는 이유가 뭔가요?물론 String, int 같이 기본형이거나 String 같이 많이 쓰이는 타입은 override 가 되어 있어서 문제 없는 것은 알고 있지만 우리가 정의한 객체의 경우에는 equals 가 override 안되어 있어서 우리가 원하는 결과값이 안나올 수도 있지 않나요 ?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-C 질문있습니다.
int idx1 = -1, idx2 = -1;로 하는 이유를 뒤에서 설명하신다고 하셨는데 따로 언급이 없었던거 같습니다..! 왜 굳이 -1로 설정하는지 궁금합니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-G 코드 질문합니다!
http://boj.kr/5d4165c5f1b2404bae890f561706ccf5강의에서는 map이 자동 정렬을 하기 때문에 map을 두개를 만들어서 관리했는데 제가 풀때는 unordered_map 로 선언한 다음 map에 하나씩 집어넣어 순서를 나타낼 map을 따로 선언하지 않고 풀었는데 이거 때문인지 아니면 다른 코드의 오류인지 틀렸다고 뜹니다..ㅜㅜ 아무리 고민해도 반례가 생각나지 않아 질문합니다!