본문 바로가기

전체 글195

Is it necessary to get a bachelor of Computer Science to become a software engineer? 줄곧 생각하던 문제이다. Software engineer가 되기 위해 컴퓨터 과학 전공 학위를 받을 이유가 있는가. 인터넷에는 6개월만 노력하면 (물론 엄청난 노력을 기해야겠지만) 누구나 개발자가 되어 많은 연봉을 받을 수 있다는 글들이 넘쳐난다. 나도 줄곧 이 문제에 스트레스를 받았다. 내가 대학을 왜 다니는 것인지, 전공 공부는 왜 그리 열심히 했는지, 그냥 개발 툴들이나 열심히 익히고 포트폴리오로 보여줄 수 있는 프로젝트들이나 할 것이지. 하지만 정보올림피아드 위원장이시자 건국대학교에서 교수로 재직중이신 김성렬 교수님은 조금 다른 이야기를 하셨다. 기초, 즉 알고리즘적 사고를 할수 있는가가 개발자들에게 있어 가장 중요하다는 이야기를 해주셨다. 그리고 그 사고를 배우기 위해 4년동안 대학을 다니는 것.. 2022. 1. 18.
Bit operation & Bit mask Bit operation을 이용해 다른 변수 선언 없이 swap 하는 방법 void swap(int *a, int *b) { *a ^= *b; *b ^= *a; *a ^= *b; } 비트를 이용하여 쉽게 set을 나타낼 수 있다. i번째 원소가 set에 포함되어 있는지 확인하려면 set을 의미하는 값의 i번째 bit이 켜져 있는지를 확인하는 것이다. int나 long long 등의 자료형들이 가질 수 있는 bit 개수를 고려하고 구현하면 된다. 응용으로는 bit mask + dp 문제가 있다. 아주 강력한 방법이지만 자료형의 크기 때문에 가질 수 있는 상태가 제한된다. array 형태로 만들면 확장 가능할 듯. (쓸 일이 있을까?) int array[10]; /* array[0]: 0번부터 31번 원소까.. 2022. 1. 18.
문제를 풀기 전 주의해야 할 몇 가지 1. 메모리 조건을 잘 살피자. 2. Recursion을 썼을 때 stack이 터질 수 있다. 3. TBD 2022. 1. 18.
[Database] Database normalization Database normalization - Wikipedia From Wikipedia, the free encyclopedia Jump to navigation Jump to search Reduction of data redundancy This article needs attention from an expert in Databases. See the talk page for details. WikiProject Databases may be able to help recruit an expert. (Marc en.wikipedia.org Database normalization definition the process of structuring a database, usually a relati.. 2022. 1. 17.