묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-g 질문
http://boj.kr/29fb43fd10d44ca584e97162656381a0안녕하세요 선생님 제가 많은 테스트 케이스들이 돌아가는데 맨 아래에 주석으로 넣은 테케가 돌아가지 않습니다. 혹시 제 코드의 논리적 오류가 무엇인지 찾아주실 수 있으십니까?33줄에서부터 37번째줄까지의 코드는 예전에 벡터를 활용할시 잘 돌아갔는데 큐는 저런 코드를 못사용하나요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
p138 배열로 next_permutation
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 배열로 next_permutation할 때int a[3]={1, 2, 3}; void printA(int a[]){ for(int i : a) cout << i << " "; cout << "\n"; } int main(){ do{ printA(a); }while(next_permutation(a, a+3)); } 벡터에서 한 것 처럼이렇게 따로 printA로 함수를 빼서 만들어봤습니다.하지만 for 줄에서[Error] 'begin' was not declared in this scope이런 에러가 나면서 실행이 되지 않는데그 이유가 궁금합니다...교안에서처럼 따로 printA함수를 빼지 않고 for~부분을 그대로 main함수에 작성하면 실행이 됩니다. 그냥 교안처럼 printA따로 안빼고 바로 작성하면 되는건가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-P 질문있습니다.
안녕하세요. 선생님항상 강의 잘 듣고 있습니다. http://boj.kr/eb569883dd084b64877cab066012fc703-P 문제를 1. 꽃을 심었을 때 모든 구역의 비용을 순회하며 계산하여 가격에 따른 좌표 값과 비용을 저장한다.2. 비용을 정렬하여 비용에 따른 좌표 값을 visited배열을 통해 체크한다.위와 같은 방식으로 풀었는데, 어떤 부분에서 틀렸는지 잘 모르겠습니다.감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
무작정 일단 질러봤습니다.
프로그래머스 2레벨 문제에서 조금 막히고 1레벨은 그냥 수월하게 풀정도입니다.또 백준 기준에선 실버 2까지는 그냥 풀 수 있습니다.제가 학부생이지만 알고리즘 자료구조를 다 까먹은 상태여서 문제를 풀 때 접근 방식이나 접근법 혹은 문제가 집중이 안되서 생각이 안될 정도로 안 풀릴때가 있습니다. 이 강의에서 제가 활용을 해야 한다면 강의를 통해서 처음부터 차근차근 기초를 쌓아 올라가면 될까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요. 5 - B 질문있습니다.
안녕하세요.5 - B 문제 풀이 이후 시간 초과가 나서 이것 저것 찾아봐도 어디서 시간 복잡도가 올라간 것인지 궁금해 질문 남기게 되었습니다.기존에 split 함수를 구현했던 것에서 착안하여 erese()를 사용하며 계속해서 문자열을 재구성하는 방식으로 구현했습니다.http://boj.kr/839e5d81df42477cae93f08c8c706222
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요. 5-A 질문 있습니다.
안녕하세요. 항상 강의 잘 듣고 있습니다. 5-A 문제를 map과 pq를 사용해서 풀이해봤습니다. 제가 생각했던 풀이는 아래와 같습니다. d를 기준으로 받을 수 있는 p를 내림차순하여 그룹핑했습니다. d마다의 최대값만을 pq.top()를 통해 받아가며 최종 값을 계산하도록 했습니다.예제의 경우는 통과하나 최종 결과는 실패입니다 ㅠ. 제가 고민한 부분에서 어떤 오류가 있는지 궁금하여 질문드리게 되었습니다. 제 코드입니다.http://boj.kr/ca47ec856ce04d98be7c9cb6c6571304 매번 감사드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
입출력 관련 질문있습니다.
지금까지 tc 여러 개 일때 출력 값들은 따로 저장해서 마지막에 한 번에 출력했었는데요.영상보고 이제야 눈치챘는데, 해보니깐 아래 둘다 맞더군요.이런 건 백준 말고도 다른 사이트도 똑같나요. 아니면 상이한가요?아래 1번 처럼해도 모두 안전한건가요. 1입출입출 2입입출출
-
미해결[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문
7-1. 분할 컴파일 fun.cpp 질문입니다.
안녕하세요 7-1 분할 컴파일 강의를 들으면서 궁금한 점이 있어 문의 남깁니다.main.cpp 상단에 아래 코드를 작성해주지 않으면 에러가 납니다. #include "fun.cpp" 에러 내용은 다음과 같습니다. && g++ -std=c+ +14 example2.cpp -o example2 && "/Users/heehmin h/Documents/C++/07_Class_and_Object/1.분할_컴파 일/"example2 Undefined symbols for architecture arm64: "display(MyStruct&)", referenced from: _main in example2-60ed22.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
-
해결됨홍정모의 따라하며 배우는 C++
연습문제 % 없이 풀 수 있나요?
제 기억엔 % 연산자를 배운 기억이 없어서요..!검색해서 풀기는 했는데 %연산자 활용하지 않고도 풀 수 있는 예제인가요?방법이 있다면 알고 싶습니다!!30분간 머리를 싸매고 풀어내긴 했는데, 이게 의도하신 연습은 아닌 것 같아서요..! 사실상 %를 풀어쓴 게 아닌가 싶기도 하고요..ㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1주차 문제들의 시간 복잡도 확인
1주차 문제들의 큰돌님 코드의 시간 복잡도 계산을 확인받고자 질문 올립니다. A순열로 풀었을 때for 문 -> next_permutation 그리고, 내부에 for문 -> for문으로 출력 순으로 진행했는데, next_permutation 내부에 for문이 있으므로 O(n^2) 인가요?조합으로 풀었을 때solve()에서 for문 중첩이므로 O(n^2)인가요?B: O(n)C: O(n)첫 번째 시작을 중첩 for문으로 시작했지만 바깥 for문은 i < 3까지 진행하므로 3 * n으로 하여 O(n)이고, 그 뒤에 for문이 100까지 진행되므로 3n + 100 으로 O(n)이라 생각했습니다.D: O(n)reverse를 하는데 처음부터 끝까지 하므로 O(n)이고 그 이후에 if문이 존재하므로 O(n)으로 생각했습니다.E: O(n)F: O(n)G: O(n)H: O(n)I: O(n)J: 패션왕 신해빈 문제인데, while문과 그 안에 for문이 있기 때문에 O(n^2)으로 생각해야하나요? 아니면 테스트케이스로 주어진 while문 내부만 고려해서 O(n)으로 생각해야 하나요?K: O(n)L: O(n^2)M: O(n^2)N: O(long N)O: 아직 문제 이해를 잘 못해서 더 고민해보겠습니다..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1 - k 반례가 무엇인지 모르겠습니다. (JAVA)
안녕하세요. 큰돌님 강의 잘 듣고있습니다.다름이 아니라 아래 코드에서 어떠한 이유로 통과가 안되는지 이유를 모르겠습니다. 감사합니다.public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] cnt = new int[26]; br.readLine().chars().forEach(i -> cnt[i - 'A']++); boolean checkOdd = false; char oddChar = '0'; StringBuilder sb = new StringBuilder(); for (int i = cnt.length - 1; i >= 0; i--) { if (cnt[i] == 0) continue; if (checkOdd && (cnt[i] & 1) == 1) { sb.setLength(0); // sb.append("I'm Sorry Hansoo"); break; } if ((cnt[i] & 1) == 1) { oddChar = (char) (i + 'A'); checkOdd = true; cnt[i]--; } for (int j = 0; j < cnt[i] / 2; j++) { sb.append((char) (i + 'A')); sb.insert(0, (char) (i + 'A')); } } if (Character.isLetter(oddChar)) { sb.insert(sb.length() / 2, oddChar); } System.out.print(sb.toString()); }
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
70번 이해가 안돼는게 있습니다.
안녕하세요 선생님 혼자서 해 볼려고 해도 구현이 하기가 어려워 선생님의 코드를 보면서 원리를 이해하고 있는 학생입니다.선생님이 만드신 코드중에 for (i = 0;i < map[x].size(); i++) { if (ch[map[x][i]] == 0) { ch[map[x][i]] = 1; Q.push(map[x][i]); dis[map[x][i]] = dis[x] + 1; } i = 0;i < map[x].size(); i++이 부분 부터 이해가 잘 되질 않습니다. x가 1이면 map[1]의 개수는 2가 되고 map[1][0], map[1][1]로 돼야 할 텐데 어떻게 ch[map[1][3]=3] = 1으로 가는지 모르겠습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-K 질문있습니다.!
처음 오리의 위치를 딱 정해서 오리의 처음 위치 부터 계속 탐색 시켰습니다.이러니 시간 초과가 나오게 되었습니다.왜 시간 초과가 나오는지 궁금합니다.https://www.acmicpc.net/source/61456336 while (true){ ans++; v.clear(); find_water(); ice_break(); if (find_duck()) break; }이 부분에서 find_water가 O(1500*1500) 이정도 시간이 걸린다고 생각합니다.호수의 크기가 1500x1500이고 오리가 (0,0), (1500,1500)에 있을때, 대충 bfs로 정점이 1500개, 간선이 4개니까, O(1500 + 4)정도 걸린다고 생각합니다.O(1500*1500) * O(1500)이라 시간 초과가 나는것이라고 생각하는데, 이렇게 계산하는것이 맞는지 궁금합니다.영상에서 나온 방법은 왜 시간초과가 안 나오는지도 궁금합니다... 문제 해설과 똑같은 로직으로 코드를 짜보았습니다.https://www.acmicpc.net/source/61457241하지만, 메모리 초과가 나와 질문합니다..어디가 메모리가 초과되는지 알고 싶습니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
무조건 mid-=a[i]를 하는데 mid==temp인 순간이 있나요?
없지않나요? if mid!=temp문의 cnt는 무조건++되는걸까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
split함수 작성 시 push_back 부분 에 관하여
안녕하세요.강의를 들으면서 실습을 하면서 하는 중인 학생입니다.예제 문장이 아닌, "hello world!" 로 했을 경우, hello hello가 두 번 나와서 강의 교안과 비교해보니 강의 7:18초 쯤 12번째 줄이ret.push_back(token)부분이 알고리즘 교안에는 ret.push_back(input)으로 나와 있네요..ㅠ 확인부탁드립니다..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-R 질문입니다
안녕하세요 선생님,답안을 보며 제가 작성했던 코드의 로직만 변경해보는데 아무리 해도 통과되질 않았습니다. 설마 하고 child++ 부분을 건드렸는데 통과되길래 이번엔 답안의 child++부분만 제가 작성했던 대로 바꿨더니 통과하지 못했습니다. child == 0을 체크하는 것과 adj[here].size() == 0을 체크하는 것은 같은 동작을 해야할 것으로 보이는데 차이가 발생하는 것이 이해가 가지 않아 질문을 드립니다. 왜 size() == 0 방식은 틀리는 것인가요?http://boj.kr/754400230cc34e12826f100050bfe9eb
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
vector a(n)이 전역으로 선언?되면 왜 segmentation fault가 일어나는지 궁금합니다
제곧내입니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-C 에서 배열을 초기화하면 a값이 0이 되는 이유
안녕하세요. 1-C문제에서 a, b, c의 값을 입력 받은 후, 배열을 0으로 초기화하면 왜 a의 값만 0으로 바뀌는건지 궁금합니다. cin >> a >> b >> c; cout << " a :" << a << " b : " << b << " c : " << c << '\n'; arr[104] = {}; cout << " a :" << a << " b : " << b << " c : " << c << '\n';감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-e 재귀로 푸는법
http://boj.kr/23616730eac14d368933bf527d72cafd선생님 안녕하세요 제가 재귀로 푸는 함수를 짜보았습니다. 일단 뮤탈리스크가 3개가 있다는 가정하에 짠 로직인데(나중에 다른 뮤탈리스크 개수가 입력되는 로직을 추가할 예정입니다) 코드가 잘 실행이 되지 않아서 질문드립니다! 감사합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-h 반례가 궁금합니다..
큰돌님 코드가 더 간결하고 깔끔하지만 제가 처음에 짰던 코드가 왜 틀렸는지 궁금합니다. 테스트케이스는 잘 나와서요.. 한번봐주시며누감사하겠습니다@@ http://boj.kr/1226e9fbc2ea4ec9b509842b79f41ecf