5-T 맞왜틀 질문있습니다.
해결됨
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
어떻게 테스트 케이스는 다 통과하는데 1%에서 틀리는데 이유를 모르겠습니다. 제가 어디서 잘못했을까요? 한 이틀정도 박았는데 도저히 모르겠습니다... http://boj.kr/360ff010bbfb4bde8218e80bc42b796f 감사합니다.
- c++
- 코딩-테스트
173만명의 커뮤니티!! 함께 토론해봐요.
해결됨
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
어떻게 테스트 케이스는 다 통과하는데 1%에서 틀리는데 이유를 모르겠습니다. 제가 어디서 잘못했을까요? 한 이틀정도 박았는데 도저히 모르겠습니다... http://boj.kr/360ff010bbfb4bde8218e80bc42b796f 감사합니다.
해결됨
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
https://www.acmicpc.net/source/87670511 어느 부분이 잘못된 건지 찾지를 못하겠어요..
해결됨
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 큰돌님, 현재 큰돌님 영상 보며 코테 준비하는 학생입니다. 다름이 아니라 이번 3주차 DEFGHI를 풀면서 그나마 쉬운거는 저만의 코드로 짰다가 큰돌님 영상을 보고 난 뒤 효율적인 코드로 바꾸고. 좀 어렵겠다 싶은거는 고민하다가 모르겠어서 강의를 통해 해설을 확인했습니다. 결국 DEFGHI중 제가 온전히 풀어낸 것 하나 없이 모두 큰돌님 해설만 보고 풀어낸 것이라 이게 괜찮은 것일지... 여쭈어보고싶습니다. 다만 이런 식으로 해설을 많이 참조한 문제들은 완강하고 난 뒤 다시 풀어 볼라고 다 체크해두고 있습니다! 결론 : 6문제 연속 제대로 못풀고 해설을 보는데 괜찮을까요
해결됨
독하게 C를 배운 사람을 위한 선형 자료구조
안녕하세요 강사님! SearchByIndexAgeRange 함수 안에 있는 코드를 다음과 같이 바꿔서 사용해도 될 것 같아서 변경해보았습니다. void** SearchByIndexAgeRange(int min, int max, unsigned int* pCount) { // unsigned int cntTotal = 0; // USERDATA** aList = (USERDATA**)MakeIndexAge(&cntTotal); unsigned int cntTotal = GetListCount(); USERDATA** aList = g_idxListAge; // 중략... } 혹시 이 방식 대신 MakeIndexAge를 사용하신 이유가 있으실까요?
미해결
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
http://boj.kr/25e64897950d400190abb19ae2bf48b1 제가 해당 문제를 풀 때 map 을 사용해서 풀었는데 map 이 key를 기준으로 sort 되기도 하고 그래서 생각난게 이거라 이걸로 풀었거든요 근데 선생님거보니 count 배열로 푸시더라고요 count 배열로 푸는 게 좀 더 깔끔한 방법일까요?
해결됨
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
http://boj.kr/695c79fb3ead4e45b95b27b6f0fc5eb1 저 같은 경우에는 minTime 과 maxTime 을 구해서 최소 시간과 최대 시간 사이만 반복문을 돌리도록 처리했고 cost 배열을 따로 만들었는데 선생님 코드에 경우 A,B,C로 만들고 1~100까지 그냥 돌리셨더라고요 그래서 질문이 제 방식대로 하는 것보다 그냥 선생님 방식대로 시간 초과가 안나는 범위 내에서는 전체순회를 돌도록 하는 코드를 짜는 습관을 들여놓는게 좋을까요..? 사실상 100개뿐이라 그냥 저런 경우에는 전체 다 순회하도록 습관을 들여놓는게 나중에 문제 풀 때 이득이 있을까요.. 알고리즘 뉴비라서 여쭤봅니다ㅠ
해결됨
38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요?: 1-5 알고리즘과 친해지기 (2) 어떤 알고리즘을 학습하고 계신가요?: 최빈값 찾기(알파벳) 여기까지 이해하신 내용은 무엇인가요?: 'a' -> ord('a') -> 97 -> chr(97) -> 'a' 이고, 'A' -> ord('A') -> 65 -> chr(65) -> 'A' 이다. 아스키 코드를 활용하고, 가장 기본이 되는 원리는 이렇다. 0이 26개인 배열(a_o_a)을 만들고, 주어진 문자열(string)을 반복문으로 순회한다. (for char in string: ... ) ord('a') - ord('a') = 0 이고, ord('b') - ord('a') = 1 이고, ... 이 원리에 따라 ord(char) - ord('a') 를 하면, char가 몇 번째 순서의 알파벳인지 구할 수 있다. 이를 0이 26개인 배열(a_o_a)의 인덱스(i)로 활용한다. string을 반복문으로 순회하면서, (만약 숫자나 띄어쓰기가 아니고 알파벳이라면) a_o_a[i] += 1 을 한다. a_o_a 에 각 알파벳의 빈도수가 저장이 된다. a_o_a를 반복문으로 순회하면서, max_alphabet_index를 구한다. chr(max_alphabet_index + ord('a')) 을 하면 최종적으로 최다 빈도수인 알파벳이 구해진다. 2. 어려움을 겪는 부분 저는 string.count(char)를 이용하여 풀었습니다. 그런데 이 아스키 코드 원리를 활용한 알고리즘이 많이 출제되나요? 코테 출제하시는 분들께서 아스키 코드를 활용한 로직을 더 선호하시는지 궁금합니다!
미해결
파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
파이썬 decimal() 함수를 모르는 상태에서 if i == '0' or i == '1' or i == '2' or i == '3' or i == '4' or i == '5' or i == '6' or i == '7' or i == '8' or i == '9': tmp+=i int(tmp) 이렇게 코드를 짰다고 했을때 ValueError: invalid literal for int() with base 10: 오류가 뜹니다.. 숫자만 골라서 int 형변환 했는데 왜 오류가 뜰까요..?
해결됨
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
<알고리즘에 올라와 있는 코드> #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll INF = 1e18; int n, c, a[1004]; vector<pair<int, int>> v; map<int, int> mp, mp_first; bool cmp(pair<int,int> a, pair<int, int> b){ if(a.first == b.first){ return mp_first[a.second] < mp_first[b.second]; } return a.first > b.first; } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> c; for(int i = 0; i < n; i++){ cin >> a[i];mp[a[i]]++; if(mp_first[a[i]] == 0) mp_first[a[i]] = i + 1; } for(auto it : mp){ v.push_back({it.second, it.first}); } sort(v.begin(), v.end(), cmp); for(auto i : v){ for(int j = 0; j < i.first; j++){ cout << i.second << " "; } } return 0; } 여기서 typedef long long ll; const ll INF = 1e18; 이 코드가 왜 필요한지 궁금합니다. 또한, 입력에서 a[1004]배열을 왜 사용하는 것인지도 궁금합니다. 배열이 아닌 정수형 변수에 입력값을 저장한 후 카운트 map의 키로 사용해도 되는데 배열을 사용한 이유가 궁금합니다.
해결됨
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
https://www.acmicpc.net/source/87639259 이런 방법으로 코드를 작성해도 될까요? 백준 통과는 됐어요.
해결됨
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하십니까 선생님, dfs와 bfs 모두로 풀어보았는데 메모리 사용량과 시간에서 매우 큰 차이가 있었습니다. 이유가 무엇인지 잘 모르겠습니다.. 그리고, 이 문제와 별개로 코테에서 dfs의 재귀 호출 깊이가 최대를 초과하여 스택 오버플로우가 발생하는 경우가 있는지 궁금합니다. -bfs 풀이 : http://boj.kr/940ad337e569487fb45a14a7a12056c1 -dfs 풀이 : http://boj.kr/040664103f534e71b0fddaf7eb282614
해결됨
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 , 방향벡터를 이용해서 맵을 탐색하는 코드를 변경해서 Connected Component코드를 작성해 봤는데 코드는 제가 예상한 것처럼 잘 돌아갑니다. 제 코드에서 수정해야할 부분이 있을까요? #include <bits/stdc++.h> using namespace std; const int V = 3; bool m[V][V], visited[V][V]; int dy[] = { -1, 0, 1, 0 }; int dx[] = { 0, 1, 0, -1 }; int cnt; void go(int y, int x) { cout << y << " : " << x << "\n"; visited[y][x] = 1; for (int i = 0; i < 4; ++i) { int ny = y + dy[i]; int nx = x + dx[i]; if (ny < 0 || ny >= 3 || nx < 0 || nx >= 3) continue; if (visited[ny][nx]) continue; if (m[ny][nx]) go(ny, nx); } return; } int main() { for (int i = 0; i < V; ++i) { for (int j = 0; j < V; ++j) { cin >> m[i][j]; } } for (int i = 0; i < V; ++i) { for (int j = 0; j < V; ++j) { if (m[i][j] && visited[i][j] == 0) { cnt++; cout << "ConnectedComponet: " << cnt << "\n"; go(i, j); } } } return 0; }
해결됨
38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 1-11 2. 어려움을 겪는 부분 첫 시도에서 count_to_all_zero 와 count_to_all_one이 모두 1이 나오는 이유가 첫번째 문자에 대해서 비교를 안하고 있다고 나와있는데, 첫번째 문자가 아니라 맨 마지막 문자를 비교 안하고 있는 것이 아닌가 궁금합니다! 첫 시작에서는 0번째 인덱스와 1번째 인덱스를 비교하지만 마지막 len(string) - 1번째 인덱스와 len(string)를 비교할 때는 마지막 문자에 대한 카운팅이 이루어지지 않는게 아닌가 하는데.. 제가 잘못 이해하고 있는걸까요..? ㅠㅠ
해결됨
38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 1-10 2. 어려움을 겪는 부분 재취준을 준비하면서 여러 기업의 코딩테스트를 봤었는데요. 항상 시간 예외성 검사에 걸려서 코딩테스트를 탈락합니다. 그래서 이 문제를 보면서도 시간을 최대한 줄이고자 노력했습니다. 3. 시도해보신 내용 input = "abadabac" def find_not_repeating_first_character(string): while True: found_flag = False if len(string) > 1: target_char = string[0] for compare_char_index in range(1,len(string)): if target_char == string[compare_char_index]: found_flag = True break if found_flag: string = string.replace(target_char, "") else: return target_char else: return "_" result = find_not_repeating_first_character print("정답 = d 현재 풀이 값 =", result("abadabac")) print("정답 = c 현재 풀이 값 =", result("aabbcddd")) print("정답 =_ 현재 풀이 값 =", result("aaaaaaaa")) 제가 봐도 가독성이 안좋긴한데.. 저는 이 문제를 풀면서 가장 먼저 생각한 것이 '이미 한번 훑은 알파벳에 대해서는 순회를 제외한다' 였거든요. 그런데 글을 쓰면서 다시 확인해보니 string을 replace할 때 오히려 더 시간이 늘어날 것 같기도 하구요.. ㅠㅠ for문의 대상이 되는 객체를 for문 안에서 변경할 수 없기에 부득이하게 found_flag라는 변수를 선언해서 for문 밖에서 판단 후 replace 하는 식으로 코드를 작성했습니다. 궁금한 점이, 딩코딩코님은 이 접근법에 대해서 어떻게 생각하시나요? 저는 정말 간단할 수 있는 문제를 20분 정도의 시간을 고민하면서 풀었는데, 이런 부분 때문에 실제 코딩테스트를 응시할 때도 시간이 부족했습니다.. ㅠㅠ 코딩테스트를 보면 1 <= N <= 1,000,000,000 이런 식으로 제한을 두다 보니.. '길이 1억의 string이 주어졌을 때 전부 순회하면 시간이 너무 길어지지 않나..?' 하는 생각이 항상 발목을 잡는 것 같습니다.. 이런 문제를 접근할 때 어떤 식으로 접근해야 할지 조언 부탁드립니다.. 항상 좋은 강의 감사드립니다!! (_ _)
미해결
김영한의 실전 자바 - 중급 2편
[질문 내용] 문제 7 - 장바구니 문제에서, minus 메서드를 보면 찾으려는 product가 존재하지 않는 경우에도 cartMap.remove()를 호출하도록 되어 있습니다. 존재하지 않는 것을 지우고자 하는 게 불필요하게 메서드를 호출하는 게 아닌가 싶은데, 예제를 쉽게 만들기 위한 선택인가요, 아니면 실무에서 저렇게 결과를 찾을 수 없어도 지우도록 하는 코드를 작성해도 문제가 없는 건가요?
해결됨
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 다른 질문글들도 많이 보았고 큰돌님 말씀대로 c++교안도 1회독 진행한 상태입니다. 0주차 개념강의 + 1주차 개념강의들도 전부 보았습니다. 이제 1-A 강의 차례인데요. 다른 공부법 질문글들에 답변에는 해당 문제를 먼저 풀어보고 안되면 그때 강의를 보라고 하셨는데 해당 강의에 해당하는 문제는 알고리즘_문제해설.pdf파일을 보고 해당 문제를 직접 찾아서 문제를 풀면되는건가요?
해결됨
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요! 강의영상과를 다르게 void형 dfs로 풀긴했는데 왜 어느부분이 문제인지 잘 모르겠습니다.. https://www.acmicpc.net/source/share/b115b1f7228b4af78b7cb918eb678018
미해결
파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
cnt =[0]*(n+m+3)로 리스트를 선언하셨는데, 저는 문제 풀때 cnf = list()로 선언했는데 Traceback (most recent call last): File "C:\Users\User\Desktop\파이썬 TEST\ AA.py ", line 38, in <module> cnt[i+j] += 1 IndexError: list index out of range 오류가 나더라고요 해당 선언을 하면 왜 오류가 나는것인가요..? 이렇게 해도 문제는 풀려야하지 않나요..? 의문점이 남아서 질문올립니다
해결됨
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
#include <bits/stdc++.h> using namespace std; string s, ret; char mid; int cnt[200], flag; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> s; for (char c : s) cnt[c]++; for (int i = 'Z'; i >= 'A'; --i) { if (cnt[i] & 1) { flag++; mid = char(i); cnt[i]--; } if (flag == 2) break; for (int j = 0; j < cnt[i]; j += 2) { ret = char(i) + ret; ret += char(i); } } if (mid) ret.insert(ret.begin() + ret.size() / 2, mid); if (flag == 2) cout << "I'm Sorry Hansoo\n"; else cout << ret << "\n"; return 0; } 강사님의 코드와 동일한데 최적화를 위해 cout.tie(NULL)이 추가된 코드입니다. ""cout"이 모호합니다."라는 오류가 뜨지만, 출력은 잘 진행됩니다. 문제는 백준에서는 틀림처리가 생기는데 왜 그런건가요? 알고리즘 교안에서는 scanf나 printf를 사용하지 않으면 괜찮다고 나와있는데 추가적으로 더 알아야할 것들이 있는건가요?
해결됨
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
테스트 케이스는 다 맞는데 나름 작은단위로 디버깅도 돌려보고 했는데도 어디서 문제가 틀렸는지 전혀 감을 못잡겠네요... 부탁드립니다. http://boj.kr/66123546c1c34e09a8d17f5fbf38cec8 감사합니다.