묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
다솜이형... 나의 완패야... 인정할게... (1620 시간초과 관련)
어디서 시간이 많이 걸리는지...모르겠습니다 ㅜㅜ 아래는 제가 스스로 짠 코드인데 시간초과가 나왔습니다. 초록 글씨 코드는 강사님 코드 딱 한번 보구 제 방식대로 만들자 해서 비슷하게 따라하려 했는데 또 시간초과가 나옵니다 ㅠ 제가 처음 짠 검은 글씨 코드는 입력을 받자마자 출력을 하는게 아니라 입력 다 받구나서 마지막에 몰아서 출력시키는게 원인같은 의심이라도 드는데, 강사님 코드 보구 짠 초록글씨는 왜 시간초과가 나는지 너무 궁금하고 억울(?)합니다. #include<bits/stdc++.h> using namespace std; int N, M; map<int, string> dogam; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> N >> M; string name; for (int i = 1; i <= N; i++) { cin >> name; dogam.insert(make_pair(i, name)); } string Q; multimap<int, string> A; for (int i = 1; i <= M; i++) { cin >> Q; if (isdigit(Q[0])) { //숫자가 들어올때 , A.insert(make_pair(i, dogam.find(stoi(Q))->second)); } else {//질문이 문자인경우 for (auto it = dogam.begin(); it != dogam.end(); it++) { if (it->second == Q) A.insert(make_pair(i, to_string(it->first))); } } } for (auto it = A.begin(); it != A.end(); it++) // 출력을 받자마자 하는게 아니라 여기서 몰아서 했습니다.. cout << it->second<< "\n"; } #include <bits/stdc++.h> using namespace std; int N, M; string input; map<int, string> dogam_byint; map<string, int> dogam_bystr; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> N >> M; for (int i = 1; i <= N; i++) { cin >> input; dogam_byint.insert(make_pair(i, input)); dogam_bystr.insert(make_pair(input, i)); } for (int i = 1; i <= M; i++) { cin >> input; if (isalpha(input[0])) cout << dogam_bystr.find(input)->second << endl; else cout << dogam_byint.find(stoi(input))->second << endl; } }
-
해결됨it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
Queue 자료구조 사용시 시간초과 문제
강사님, 안녕하세요. 토마토문제 testcase 4, 5에서 시간초과 오류가 발생하고 있습니다. 정답코드를 넣어봐도 같은 문제가 발생합니다. 다른 학생분들이 올린 질문에 답변하신 것을 찾아보니, 정답코드를 넣어도 시간초과가 발생하는 것은 컴퓨터 성능문제라고 하셨습니다. 그런데 다른 문제에서는 안그러는데 자꾸 queue를 사용하는 경우에만 이런 성능문제로 인한 시간초과가 발생하는데 이유가 뭔가요? queue가 다른 자료구조보다 사용하는데 시간이 많이 걸리나요? 감사합니다.