월 33,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
8-C 접근 방식 질문 있습니다.!
안녕하세요 큰돌님!http://boj.kr/01de00905c874d749fef7bbf7313fc02큰돌님의 풀이 방식이랑 조금 다른 방식으로 했는데요.완탐 + dp을 생각해서 풀어봤는데 테스트케이스도 실패하고 어디가 문제인지 잘 감이 안잡히네요...혹시 제 코드 봐주실수 있나요?제 접근 자체가 잘못된거면 그냥 깔끔하게 접게요....풀릴꺼 같은데 안풀리니깐 미련이 자꾸 남습니다.
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
16637번 질문
해당 문제에서 "3*8+5" 를 예시로 들어가면서 코드까지 옮기는 내용으로 수업을 해주셨습니다. 이 경우 당연하게 최대 1개 쌍의 괄호가 들어갈 수 있는 경우의 수가 2개이므로 수긍은 되었습니다.하지만, 제가 생각하기에 최대 수식의 길이가 19이므로 그 경우의 괄호는 상당히 많아질텐데 현재의 2개의 경우의 수를 고려하는 코드로도 커버가 되는 건가요? 재귀 형태라서 그렇다기에는 이해가 잘 안 갑니다..길이가 11인 예시 "3+5-8*1*4+2" 만 해도(3+5)-(8*1)*(4+2)로 최대 괄호의 수(쌍)가 3개짜리인 경우의 수가 상당히 많아질 수 있는데 현재의 코드가 어떻게 되는건지 모르겠습니다!
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
그대로 입력했는데 틀렸다고 뜹니다.
#include <bits/stdc++.h> using namespace std; int n, cnt[26]; string s, ret; int main(){ cin >> n ; fot(int i=0; i<n; i++){ cin >> s ; cnt[s[0] - 'a']++; } for(int j = 0; j < 26; j++){ if (cnt[j] >= 5) ret += j + "a"; } if(ret.size()) cout << ret << "\n"; else cout << "PREDAJA" << "\n"; } 어디가 틀린걸까요
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-K 질문있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의 잘 듣고 있습니다. 강의 풀이 참고하여 코드 작성하였는데.ans.push_back({it-LIS.begin(), A[i]});라인의 위치에 따라 "it-LIS.begin()"의 값이 쓰레기값일 때도 있고 그래서.., 현상의 이유가 궁금합니다. ans.push_back()을 뒤에 위치시켰을때, pos_ 값이 쓰레기값이 되는 이유 질문드려요. 그 이유로,LIS.push_back(A[i]); 가 수행되고 나면 LIS.begin()의 주소값이 변경되는 것으로 생각되는데, 맞을까요? 전체 코드>>#include <bits/stdc++.h> using namespace std; int N; vector<int> A; vector<int> LIS, Ret; int len; vector<pair<int, int>> ans; int main(){ cin.tie(NULL); cout.tie(NULL); ios_base::sync_with_stdio(false); cin >> N ; A = vector<int>(N,0); for(int i =0 ; i < N ; ++i) cin >> A[i]; for(int i = 0 ; i < N ; ++i){ auto it = lower_bound(LIS.begin(), LIS.end(), A[i]); ans.push_back({it-LIS.begin(), A[i]}); /* 현재 위치에서 push_back 하였을 떄: >> ans 배열에 담긴 값: ans = { {0, 10} {1, 20} {0, 10} {2, 30} {1, 20} {3, 50} } */ if (it == LIS.end()) LIS.push_back(A[i]); else *it = A[i]; /* 아래 위치에서 push_back 하였을 떄(주석): ans.push_back({it-LIS.begin(), A[i]}); >> ans 배열에 담긴 값: ans = { {-1405095968, 10} {-7, 20} {0, 10} {10, 30} {1, 20} {3, 50} } */ } cout << "디버깅" << endl; for(auto a : ans) cout << a.first << " " << a.second << endl; cout << endl; int len = LIS.size(); cout << len << endl; // 배열을 trace for(int i = N-1 ; i >= 0 ; --i){ if (ans[i].first == len-1){ Ret.push_back(ans[i].second); len--; } } reverse(Ret.begin(), Ret.end()); for(auto r: Ret) cout << r << " "; cout << endl; return 0; }
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-R 트리 질문있습니다
http://boj.kr/8cefb4955fb64d18ad353997d162cc29제출시 77%에서 오답처리 되는데, 어느 부분이 틀렸는지 모르겠습니다.- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6_J 질문드려요.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요.강의 잘 듣고 있습니다. 다름이 아니라.ll right = 1E18로 지정하면 제출시 틀렸습니다가 뜨고, ll right = 1E15 정도로 하면 정답이 뜨는데, mid 의 값계산이 잘못되고 있는건가 체크해봐도 오버플로우가 날만한게 없어서. 이유가 궁금합니다. #include <bits/stdc++.h> using namespace std; typedef long long ll; ll N, M; vector<ll> A; ll temp; bool check(ll mid){ temp = M; for(int i =0 ; i < M ; ++i){ temp += mid/A[i]; } return temp >= N; } int main(){ cin >> N >> M; A = vector<ll>(M,0); for(int i = 0 ; i < M ; ++i) cin >> A[i]; if ( N <= M) cout << N << endl; else{ ll left = 0; ll right = 1E18; ll ret = 0; while(left <= right){ ll mid = (left+right)/(long long)2; if(check(mid)){ right = mid-1; ret = mid; } else{ left = mid+1; } } temp = M; for(int i =0 ; i < M ; ++i) temp += ((ret-1)/A[i]); for(int i =0 ; i < M ; ++i){ if (ret % A[i] == 0) temp++; if (temp ==N){ cout << i +1 << "\n"; return 0; } } } return 0; }
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-a 왜 틀렸는지 궁금합니다
http://boj.kr/5b42789344b749769d5371b7e76dfb10 안녕하세요 큰돌님 !강의 너무 재밌게 잘 듣고 있습니다.문제해설대로 map을 사용하는게 좋은 방법이란걸 깨달았지만 해설을 듣기전 혼자 풀었을때 작성한 코드인데요.저는 전역으로 벡터를 만들어서 더 좋은 조건(사전 순으로 빠른)의 벡터가 만들어졌을 시 비교하여 전역 벡터로 할당해주는 방식으로 짜보았는데요.해당문제를 검색해보며 여러 테스트케이스를 해봐도 맞았는데 제출은 틀렸다고 나옵니다 .. ㅠㅜㅠㅜ어떤 반례가있는지 궁금합니다.
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-O 시간복잡도 관련 질문있습니다.
안녕하세요 큰돌님문제 해설에서 시간복잡도 계산하실때 300C3 이라고 하신 부분에 대해서 질문드립니다.go 함수 호출시마다 check 함수또한 호출하게 될텐데10*30 배열의 경우 check 한번당 300번의 탐색을 해야하므로 300C3 * 300이 되어야하는것이 아닌가요?
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
a.cpp 오류
이런 상태로 터미널에서 g++ -std=c++14 -Wall a.cpp -o test.out 를 하여도 에러가 나며 #include <bits/stdc++.h> 부분에도 에러가 납니다. 도움 부탁드리겠습니다!
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
두 코드의 차이가 무엇인지 궁금합니다
https://www.acmicpc.net/source/share/52db515483bf48409679906723d0d91f위 코드는 오답이고https://www.acmicpc.net/source/share/4d3ef9f8e6c74ed2af729ac607ef92dd위 코드는 정답인데두 코드의 로직에 어떤 차이가 있는지 궁금합니다- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
m1 brew 설치
터미널에서 brew install gcc를 해보았는데 명령어가 찾아지지 않아서 문의 드립니다.맥북 에어 m1 입니다!
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G out of range 에러입니다
http://boj.kr/7de1d484d2e34806838cfb3788cd5e81아무리 생각해도 어디서 out of range에러가 나는지 모르겠습니다! 예제는 다 맞는데 23퍼에서 에러가 납니다!
- 해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
visited를 map방식으로 풀어봤습니다. 테스트 케이스는 맞는데, 어떤 반례가 있을까요?
선생님, 안녕하세요.visited를 맵에 넣어서 (y와 x좌표를 스트링으로 바꾼 후 키로 삼고, value는 1이나 true를 줬습니다.) 하는 방식으로 풀어봤습니다. 또, 배추의 좌표들을 받을 때, 이를 벡터에 넣어줘서 벡터를 반복문을 돌며 dfs를 실행하며 visited맵을 체크해줬어요.배열로 받던 visited를 맵으로 바꾸고, 벡터에 배추 좌표를 넣어주는 정도라서 식이 많이 다른것 가지는 않구요,이렇게 하면 2중배열을 돌지 않아도 되서 약간이나마 더 효율적이라는 생각도 드는데요.테스트 케이스는 맞는데, 제출하면 틀렸다고 나옵니다. 어떤 반례가 있을까요?http://boj.kr/5fdb9a3986444cf7b5f0723ce0db6048
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-A 질문있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.큰돌님 안녕하세요! 이번 강의도 잘 듣고 내심 궁금한게 있어서 질문 드렸습니다.http://boj.kr/f9048d0d72c1430292e3469290235959for문으로 모든 시작점을 진행해도 같은 값이 나올 줄 알았는데 그게 아니었습니다. 문제 풀 때는 상관이 없지만 내심 너무 궁금해서 질문드립니다..!
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문 있습니다.
http://boj.kr/4468d92db7694335bf1119b95b6c26fe테스트 케이스는 모두 통과하는데 어떤 점에서 놓친 부분이 있는지 모르겠습니다.
- 해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
비트마스킹 사용에 관한 질문입니다.
4주차 이론을 듣고 4-a 를 풀어봤습니다.http://boj.kr/1505ce542738451d97357d5977350e46문제를 딱 보자마자 그냥 완전탐색으로 풀어야겠다고 생각하고비트마스킹 생각을 하지않고 그냥 문제를 풀게 됐고 그 후강의를 보니 비트마스킹을 사용해서 풀이하신 걸 보고어떻게 이 문제를 보고 비트마스킹을 사용해야겠다고 생각하신건지 비트마스킹의 장점이 무엇인지 궁금해서 질문남깁니다. 1.경우의 수를 탐색하는 문제에서 사용하는 것 같은데 나중에는 무조건 비트마스킹을 사용해야만 하는 문제도 있나요? 아니면 이 문제처럼 그냥 완전탐색으로 풀어도 대부분 풀리는 건지 궁금합니다!2. 비트마스킹의 장점은 속도 인가요? 시간 초과가 타이트할 때 사용하는 건지 아니면 다른 장점이 있는 건지 궁금합니다. 이론강의를 듣고 나서도 잘 이해가 안가서 질문드립니다!
- 해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-N 모듈러 공식 질문있습니다.
http://boj.kr/3508e81686454e2ea04b64d2c4a3ba94풀이법과 조금 다르지만 같은 원리로 풀었습니다 그런데http://boj.kr/9f02c3d4d7b14d9eb585cb7dabfc6d2a이건 두번째로 생각해본 풀이인데 이 코드는 틀렸다고 나옵니다.두 코드의 차이점은 매개변수 y (지수부분)가 홀수일 때 첫번째 코드는 go(y-1) , go(1) 을 해서 한쪽부분을 짝수로 만들어준 것이고두번째 코드는 go(y/2) ,go(y/2) ,go(1) 로 2로 나눠주면서 홀수라서 남는 부분을 곱해주는 방식입니다. 모듈러 공식이 (a * b) % c = ((a%c)*(a%c))%c 라고 하면(a*b*c)%c 도 같이 적용되어야 하는게 아닌가 싶어서 질문드렸습니다!
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-L 이해가 안되는 부분이 있습니다.
안녕하세요. 큰돌님. 이 문제는 제가 직접 풀지 못해서 선생님 답안을 보고 익히고 있는 중 궁금한 게 생겨서 질문 남깁니다.for문을 나오면 있는 끝점을 계산하는 코드입니다.마지막에 이긴 팀을 기준으로 끝점을 계산하는 게 아닌득점을 많이 한 팀 기준으로 끝점을 계산하신 이유가 궁금합니다
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
맞왜틀 질문드립니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/7d1b078d34894888995766119fc55780 아래와 같은 사고 과정을 따라 문제를 풀었습니다. 먼저 동생이 0에서 출발하더라도 1000초면 500,000을 넘어간다는 것을 확인했습니다.또한 500,000 크기를 가지는 int형 배열이 약 2MB 정도의 공간만을 차지하므로동생의 위치에 따른 시간을 먼저 broPos 배열에 저장했습니다.ex. 동생이 5를 0초에 방문, 6을 1초에 방문, 8을 2초에 방문 -> broPos[5] = 0, broPos[6] = 1, broPos[8] = 2 이후 수빈이가 bfs를 통해 탐색하되같은 시간에 동생을 만나는 경우(broPos[next] == visited[next] - 1) 리턴후 시간 출력동생의 지나갈 위치를 짝수초만큼 먼저 지나가는 경우 리턴 후 시간 + 짝수초 출력동생이 500,000을 넘는 시간이 지나면 리턴 후 -1 출력 해당 방법으로 문제를 풀이했는데 어느 부분이 틀린걸까요?
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[6-J] 질문드립니다.
#include <bits/stdc++.h> using namespace std; #define ll long long ll N, M; vector<ll> attractions; // mid 시간안에 놀이기구를 다 탈 수 있는지 확인하는 함수 bool CanRide(ll mid) { ll cnt = 0; for(int i=0; i<M; i++) { cnt += mid/attractions[i]; } return cnt >= N - M; } // 마지막 아이가 타게되는 놀이기구 index 출력 ll GetIdx(ll mid) { ll cnt = M; for(ll i=0; i<attractions.size(); i++) { cnt += (mid-1) / attractions[i]; } for(ll i=0; i<attractions.size(); i++) { if(mid % attractions[i] == 0) cnt++; if(cnt == N) { return i+1; } } return -1; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> N >> M; for(int i=0; i<M; i++) { ll tmp; cin >> tmp; attractions.push_back(tmp); } ll left = 1, right = 60000000009, mid; if(N < M) { cout << N; return 0; } while(left <= right) { mid = (left + right) / 2; if(CanRide(mid)) { right = mid - 1; } else { left = mid + 1; mid = left; } } cout << GetIdx(mid); return 0; }안녕하세요, 문제가 풀리지 않아 선생님의 풀이를 보고 충실히 따라 구현하여 제출하였는데 78%쯤에서 계속 틀렸다고 나와 질문드립니다.이분탐색 범위도 맞게 설정된거 같고, 자료형도 범위에 맞게 long long으로 잘 사용한거 같은데 어디가 틀렸는지 찾을 수 없어 질문드립니다.