본문 바로가기

CS(Computer Science)지식71

백준 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.
[컴퓨터 구조] 컴퓨터 구조 시작하기 컴퓨터 구조를 알아야 하는 이유 컴퓨터 구조에 대한 지식의 역량이 개발자로서 업무를 수행하는데 필요하다는 것을 기업들도 알고 있기 때문에 각종 기술 면접에서 컴퓨터 구조에 관한 소양을 검증하거나 반드시 알아야 하는 분야로 명시하기도 EX) 삼성전자, 구글 뿐만 아니라 개발 관련된 상황에서 성능, 용량, 비용 문제는 프로그래밍 언어의 문법만 알아서는 해결하기 어렵습니다. 혼자만 사용하는 프로그램을 만들 때는 이러한 문제를 생각조차 해 본 적이 없을 수도 있습니다. 즉, 컴퓨터 구조를 이해하면 입력과 출력에만 집중하는 개발을 넘어 성능, 용량, 비용까지 고려하며 개발하는 개발자가 될 수 있다. 컴퓨터 구조의 큰 그림 가장 큰 사각형은 메인보드입니다. 메인보드 안에 시스템 버스(양방향 수직 화살표)가 있습니다.. 2024. 1. 29.