묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-L 질문있습니다.
http://boj.kr/ad36bd7f8ec04337b4e4eb98ed2ecdfc이 코드는 틀린 코드이고http://boj.kr/8494f1ca7ca84fbeaa1cd47409006e9f이 코드는 맞은 코드인데요. 둘의 차이는 combi(0)으로 시작하냐 combi(-1)로 시작하냐입니다.근데 combi(-1)은 for (int i = start + 1; ...) 로 하고combi(0)은for (int i = start; ...) 해서 결국 똑같은 코드 아닌가요? 왜 combi(0)으로 하면 답이 안나오는지 모르겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-A 질문 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 선생님 이 문제를 재귀를 이용해서 풀어봤는데 인덱스를 포함하는 경우에서 temp_v 배열에 인덱스를 포함해서 보내는 경우는 어떻게 하는건가요??(요 부분)// 현재 인덱스를 포함하지 않는 경우 go(idx + 1, p, f, s, v, sum, temp_v); // 현재 인덱스를 포함하는 경우 go(idx + 1, p + a[idx].p, f + a[idx].f, s + a[idx].s, v + a[idx].v, sum + a[idx].c, temp_v);#include <bits/stdc++.h> using namespace std; const int INF = 987654321; int n, mp, mf, ms, mv; int ret = INF; map<int, vector<vector<int>>> ret_v; // 비용별 조합 저장 struct A { int p, f, s, v, c; } a[16]; void go(int idx, int p, int f, int s, int v, int sum, vector<int> temp_v) { // 모든 재료를 확인한 경우 if (idx == n) { // 최소 조건 만족하는지 확인 if (p >= mp && f >= mf && s >= ms && v >= mv) { if (ret > sum) { ret = sum; // 최소 비용 갱신 ret_v[ret].clear(); // 이전 조합 제거 ret_v[ret].push_back(temp_v); // 새로운 조합 저장 } else if (ret == sum) { ret_v[ret].push_back(temp_v); // 같은 비용의 다른 조합 저장 } } return; } // 현재 인덱스를 포함하지 않는 경우 go(idx + 1, p, f, s, v, sum, temp_v); // 현재 인덱스를 포함하는 경우 go(idx + 1, p + a[idx].p, f + a[idx].f, s + a[idx].s, v + a[idx].v, sum + a[idx].c, temp_v); } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); // 입력 받기 cin >> n >> mp >> mf >> ms >> mv; for (int i = 0; i < n; i++) { cin >> a[i].p >> a[i].f >> a[i].s >> a[i].v >> a[i].c; } // 탐색 시작 go(0, 0, 0, 0, 0, 0, {}); // 결과 처리 if (ret == INF) { cout << -1 << '\n'; // 조건 만족하지 못하는 경우 } else { sort(ret_v[ret].begin(), ret_v[ret].end()); // 사전순 정렬 cout << ret << '\n'; // 최소 비용 출력 for (int idx : ret_v[ret][0]) { // 첫 번째 조합 출력 cout << idx << " "; } cout << '\n'; } return 0; }
-
미해결김영한의 실전 자바 - 중급 2편
문제와 풀이3 stack - 히스토리 에서 ArryDeque 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. stack 2번째, 문제 풀이 를 보면서 궁금증이 생겨서 질문을 남깁니다.문제 풀이를 듣던 도중에 영한 님이 history를 만들 때, ArryDeque를 이용해서 만들었던 것을 볼 수 있었습니다. 그러다가 계속 듣다 보니까 갑자기 이런 생각이 들더라고요.(어떤 분이 '자바 성능 비교 표' 올린 영향도 있습니다.)'앞으로만 추가하니 LinkedList가 더 빠르지 않을까?' 라는 생각 이요. 그런데 ArrayDeque를 왜 사용했을까? 생각 해보니 '앞으로만 추가 하지만, 여러 가지 이용할게 더 많아서 ArrayDeque 를 사용 했다.' 인데 이것도 추측이라서 정확하지 않네요.그래서 LinkedList 대신 ArryDeque를 사용한 이유를 자세히 알고 싶습니다.답변 부탁 드립니다.
-
미해결김영한의 실전 자바 - 중급 2편
안녕하세요. 문의드립니다.
직접 구현하는 Set1 - MyHashSetV1 강의중public class MyHashSetV1 { static final int DEFAULT_INITIAL_CAPACITY = 16; LinkedList<Integer>[] buckets; private int size = 0; private int capacity = DEFAULT_INITIAL_CAPACITY; public MyHashSetV1() { buckets = new LinkedList[capacity]; for (int i = 0; i < capacity; i++) { buckets[i] = new LinkedList<>(); } }이렇게 생성자에 객체를 생성하는데클래스 필드에 객체를 생성하지 않고생성자 안에서 생성하는 이유가 무엇인지 궁금해서 문의드립니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-O 4949 코드 질문
http://boj.kr/5a9e690ac2f24bc3bdd728d4be9a82e9큰돌님 제가 작성한 코드로는 . (예제 입력1 의 7번 "공백.")이걸 입력하면 .이 출력 되면서 .이 왜 출력되는지 모르겠고 어디 부분이 잘못된 것인지도 모르겠습니다.코드가 잘못된 부분 조언 부탁드립니다 !
-
미해결김영한의 실전 자바 - 중급 2편
직접 구현한 리스트의 성능 비교 강의중 질문입니다.
안녕하세요. 강의를 보면서 성능 비교에 중 영상에 나오는 기대값과 실제 나오는 기대값이 달라서 코드중에 문제가 있는지문의드립니다. 조회 부분에서 array리스트 기대값과 linked리스트 기대값의 효율이 영상과는 차이가 있어서 질문드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
해당 문제를 set을 사용해서 풀었는데 이분탐색보다 속도가 느린 이유가 궁금합니다
std::set은 레드블렉 트리로 구현하여 삽입, 삭제, 검색 모두 O(logN)인걸로 알고있습니다. 이분 탐색도 시간 복잡도가 O(logN)인데 왜 std::set을 사용하면 더 느린지 궁금합니다.아래는 풀이 소스코드입니다.#include <bits/stdc++.h> using namespace std; int32_t t, n, m, tmp; set<int32_t> s; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cin >> t; while (t--) { cin >> n; s.clear(); for (int32_t i = 0; i < n; ++i) { cin >> tmp; s.emplace(tmp); } cin >> m; for (int32_t i = 0; i < m; ++i) { cin >> tmp; if (s.contains(tmp)) { cout << "1\n"; } else { cout << "0\n"; } } } return 0; }
-
미해결코딩테스트 [ ALL IN ONE ]
notion 초대 주세요
안녕하세요 강의 수강해서 보고 있는데 노션 워크스페이스 공유가 안오네요제 이메일은 wowls1227@icloud.com 입니다.
-
미해결2주만에 통과하는 알고리즘 코딩테스트 (2024년)
백준 22988 문제 질문
용량(x)이 13이고 병에 들어있는 용량(arr[e])이 13일 때,즉 arr[e] == x: 일 때 cnt += 1 하고 e 부분만 빼기 1을 해주는 부분에서 이해가 되지 않았습니다.문제에서 "두 개를 반납해야 새로운 용량을 준다고 했는데" 선생님께서는 최대용량(13)일 때 하나만 반납했기 때문에 이해가 잘안되네요..이 부분 한번 설명 해주실 수 있으실까요?
-
미해결김영한의 실전 자바 - 중급 2편
제네릭 와일드카드질문
오랜만에 햇갈려서 제네릭 다시볼려고 영한님 찾아왔습니다.제네릭메서드랑 와일드카드 언제쓸지 구분할때좀더 명확한 타입이 필요할때 제네릭 타입을 쓰면 될까요 ?좀 햇갈리네요 이부분이강의 예시코드를 보면 Dog dog = WildCardEx.printAndReturnGeneric(dogBox); //Dog 타입 Animal animal = WildCardEx.printAndReturnWildcard(dogBox); // 부모 타입 (Animal ) 이렇게 나와서 특별한 형 변환이 필요없을때 와일드 카드를 쓴다고 생각하면 맞는생각일까요 ?
-
미해결김영한의 실전 자바 - 중급 2편
안녕하세요 질문있습니다.
직접 구현하는 연결 리스트1 강의중 영상과 자료에는 문제가 없는 것 같은데 저의 IDE에서는 캐스팅을 요청하길래 코드를 보니 참조값이 Object인데 반환 값은 Node라 상관이 없는 것을 알고 있지만다운캐스팅을 하는 것이 올바른 것인지 문의드립니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
전체적인 공부방법에 대한 질문입니다.
안녕하세요 선생님 강의 열심히 듣고 있는 학생입니다. 제가 듣다 보면 문제를 보고 1시간 정도를 고민해도 풀 수가 없어서 결국 강의 풀이를 보며 이해하는 문제들이 많은데 이런식으로 공부해도 실력이 늘 수 있을지가 의문이고 고민입니다... 혼자 생각하고 풀지 못하고 결국 정답과 풀이를 보며 따라하는 상황이다 보니 혼자 힘으로는 풀지 못하는 문제만 늘어간다는 느낌을 받습니다. 이런식으로 공부해도 괜찮은 걸까요..?
-
해결됨김영한의 실전 자바 - 중급 2편
컬렉션프레임워크 문제 풀이2 - 문제7 Cart클래스 add() 및 minus() 코드 방식에 대하여서 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요.문제 풀이7번 장바구니를 만들고 나서, 영상 및 pdf 랑 비교해보니, Cart 클래스의 add() 및 minus() 가 비슷하긴 한데, 다릅니다.(정답은 잘 나옵니다.) 이럴 때에는 영한님의 코드 방식을 익히고, 영한님 코드를 쓰는게 나을까요?아니면 그대로 저의 코드로 하는 게 나을까요?(일단 코드도 올릴게요.)추가1 이렇게 코드를 올리는 게 자만 인가요? 다른 분들은 코드를 올리지 않고 잘 진행하는데, 주구장창 식으로 올리는 듯해서요.(저번 글에 답변 해주신 David 님 말이 생각이 나서요.) 답변 부탁 드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-A
안녕하세요 선생님. 선생님과 거의 비슷한 방법으로 풀었는데 cmp부분에서 논리적 오류로 틀린것 같습니다. 혹시 어느 부분때문인지 알려주시면 감사하겠습니다.http://boj.kr/904583c9595b4c1192fc5d9496c76678
-
미해결38군데 합격 비법, 2024 코딩테스트 필수 알고리즘
1-4 2번째풀이 관련
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 1-4 알고리즘 친해지기def find_max_num(array): max_num = 0 for i in range (len(array)): if array[i] > max_num : max_num = array[i] return max_num print("정답 = 6 / 현재 풀이 값 = ", find_max_num([3, 5, 6, 1, 2, 4])) print("정답 = 6 / 현재 풀이 값 = ", find_max_num([6, 6, 6])) print("정답 = 1888 / 현재 풀이 값 = ", find_max_num([6, 9, 2, 7, 1888])) 저는 다음과 같이 풀어봤는데 선생님께서 푸신것과 최대값을 갱신해서 구한다는점이 같았는데 gpt에게 물어보니 다음풀이는 배열의 인덱스를 순회하는 방식이고 강의 풀이는 배열의 값을 순회하는 방식이라고 하는데둘방식이 차이가 있는지? 다르다면 어떠한 경우에 값을 순회하고 ,인덱스를 순회하는지 궁금합니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
왜 오류 인가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.package PR; import java.util.*; public class 보이는학생 { public int solution(int n, int[] arr){ int answer = 1; for(int i=0; i<arr.length-1; i++){ if( arr[i] < arr[i+1] ){ answer++; } } return answer; } public static void main(String[] args) { Algorithm.보이는학생 t = new Algorithm.보이는학생(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int[] arr = new int[n]; for(int i=0; i<n; i++){ arr[i] = kb.nextInt(); } System.out.println(t.solution(n, arr)); } } 이코드는 어디 부분에서 로직이 오류인가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문드립니다.
2-S 백준1325 효율적인 해킹 문제에서시간복잡도가 10억인데,시간복잡도가 10억이어도 괜찮나요?
-
미해결[EduAtoZ] Python 활용&COS Pro 2급
안녕하세요 혹시 수강연장 가능할까요?
내일 만료가 된다고 하여서 혹시나 하고 질문을 남겨봅니다 수강 연장이 가능하다고 한다면 1개월 정도 연장이 가능할까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-J 맞왜틀 질문있습니다!
http://boj.kr/a166d070b8e646418f096a93c5b4286a강의를 보기 전 dfs를 활용해서 0을 쭉 탐사하는데 1로 막혔을 때 그 1의 좌표를 벡터에 저장하여 탐색 후 지우고 다시 탐색하는 방식을 반복한 횟수를 구해서 풀어봤는데 왜 틀린 지를 모르겠습니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-I 질문 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님 문제에서 scanf와 printf로 사용하셨는데 cin,cout를 사용안한 이유가 있으신가요??