CS(Computer Science)지식/[C++][코딩 테스트] 자료구조 및 알고리즘60 백준 13414번: 수강신청 [C++] https://www.acmicpc.net/problem/13414 푸는데 시간이 오래 걸렸다.. 코로나 걸려서 집중력도 떨어지고 오랜만에 푸니까 잘 안풀린다.. ㅠ unordered_map or undordered_set 같은 경우 내가 집어 넣은 순서대로 출력을 꺼낼 수 있다고 생각했는데 실제로는 넣은 순서대로 출력이 나오지 않고 해쉬 테이블 안에서 값을 꺼내므로 랜덤한 값이 출력되게 된다. 따라서 이 문제를 풀기위한 핵심은 unordered_map을 사용하여 학번과, 숫자(들어온 순서) 를 pair자료형을 통해서 받고 숫자를 기반으로 정렬하는 방법이 최선이란것을 깨달았다. 아래 두개의 풀이를 참고했다. #include #include using namespace std; bool compare(co.. 2024. 1. 31. 백준 1620번: 나는야 포켓몬 마스터 이다솜 [C++] 알고리즘(코딩 테스트) 공부를 안한지 2달째.. 현업에서 막상 코드 유지보수 업무를 하다보니까 생각보다 코드를 건드리거나 구현할 일이 적은 것 같다. 그래서 알고리즘을 취미로 꾸준히 하려고 한다. 막상 오랜만에 다시 시작하니까 ㅋㅋㅋㅋㅋㅋㅋ 손이 안떨어진다... 코딩의 길 멀고도 험하다.. https://www.acmicpc.net/problem/1620 #include #include using namespace std; unordered_map p1; unordered_map p2; int n,m; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n >> m; string s; for (int i = 1; i > s; p1.insert(make_p.. 2024. 1. 31. 백준 7785번: 회사에 있는 사람 [C++] https://www.acmicpc.net/problem/7785 #include #include using namespace std; unordered_set s; int n; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin >> n; while (n--) { string name; string log; cin >> name >> log; if (log == "enter") s.insert(name); else s.erase(name); } vector ans(s.begin(), s.end()); sort(ans.begin(), ans.end(), greater()); // 역순으로 정렬 for (auto x : ans) cout 2024. 1. 31. 바킹독의 실전 알고리즘 강의 총정리(C++, 코딩 테스트, 알고리즘) 0x01 (기초 코드 작성요령1) 공간복잡도 입력의 크기와 문제를 해결하는데 필요한 공가느이 상관관계 문제를 풀때 크게 중요하지 않지만 512MB = 1.2억개의 int 를 기억해두면 좋음 1.2억개를 넘는 배열이면 틀림 실수의 저장/연산 과정에서 반드시 오차가 발생할 수 밖에 없다. 0.1+ 0.1 +0.1 != 0.3 실수자료형을 쓸 때는 반드시 double을 쓸 것 그래야지 오차가 안 생김 0x02 (기초 코드 작성요령2) STL을 함수 인자로 넘길 때 참조자로해야지 시간복잡도가 o(N)이 된다. char* 보다 string이 훨씬 편함 cin 공백을 포함한 문자열을 입력 받을때 getline(cin, s); 타입이 c++ string이어야함. ios::sync_with_stdio(false), c.. 2024. 1. 29. 이전 1 ··· 12 13 14 15 다음