목록분류 전체보기 (91)
직대딩 블로그
https://zdnet.co.kr/view/?no=20170616090644#_enliple 개발자의 평생공부 평생 공부하는 건 개발자만이 아니다. 다른 직업을 가진 사람들도 쉼 없이 공부하고, 컨퍼런스와 세미나를 참가하고, 스터디를 한다. 공부없이 할 수 있는 일이 없기 때문이다.... zdnet.co.kr 1. 지금 다니고 있는 회사에서 하는 일을 잘하기 위해서 노력하는 것이 가장 좋은 공부다. 2. 회사에서 하는 일과 개인적으로 공부하는 내용을 최대한 근접시키기 위해서 노력하라. 5. 모든 것을 알아야 한다는 강박을 버려라. 미리 획득하는 지식의 99%는 무용지물이다. 필요할 때 필요한 기술을 익힐 수 있는 것이 능력이다. 그 능력을 키워라. 8. 머리에 들어오지 않는 어려운 개념이나 용어는 자투..

책이름 : 면접을 위한 CS 전공지식 노트 저자 : 주홍철 독서 이유 : 1. 요즘 IT 지식 관련하여 궁금한게 많아 구글이나 유튜브에서 많이 찾아보고 있었다. 2. CS 관련 지식에 대한 공부가 2년 전이 마지막이었으니 .. 다시 공부해야겠다는 생각이 들었다. 3. 마침 집 앞 도서관에 있었다. 4. 이동하면서 읽을 가벼운 책을 찾고 있었다. 1장 디자인 패턴 & 프로그래밍 패러다임 2장 네트워크 3장 운영체제 4장 데이터베이스 5장 자료구조 6장 포토폴리오 & 면접 책의 제목처럼 다양한 CS 관련 전공 지식들을 담고 있다. 전반적으로 300쪽이 안되는 페이지에 많은 내용들을 담으려다보니 자세한 설명이 조금 의아한 부분들이 있었다. 뭐 많은 내용들을 담고 있으니 헷갈리는 부분들이 나올때는 구글링에 필수..
https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net stack 의 push/pop 연산을 이용해 입력받은 수열의 순서 재배치 가능 여부를 확인하면 된다. #include #include #include using namespace std; int main() { int n = 0, m = 0; int a[100005]; stack stk; vector vec; cin..
https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 입력받은 string 의 크기만큼 반복문을 돌면서, 여는 괄호는 스택에 쌓아준다. 닫는 괄호가 나왔을 때, 바로 앞이 여는 괄호였을 경우 ans 변수에 스택의 사이즈만큼 더해준다. 아닐 경우 index가 1 이상 차이나는 것이므로 ans 변수를 1 증가시켜준다. #include #include #include using namespace std; int main() { int ans = 0; string s..
https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net #include #include #include using namespace std; queue que; int n, k; string str; int main() { cin >> n; for (int i = 0; i > str; if (str == "push") { cin >> k; que.push(k); } else if (str == "pop")..
https://www.acmicpc.net/problem/17427 17427번: 약수의 합 2 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net #include using namespace std; int main() { int n; long long ans=0; cin >> n; for(int i=1;i
https://www.acmicpc.net/problem/10159 10159번: 저울 첫 줄에는 물건의 개수 N 이 주어지고, 둘째 줄에는 미리 측정된 물건 쌍의 개수 M이 주어진다. 단, 5 ≤ N ≤ 100 이고, 0 ≤ M ≤ 2,000이다. 다음 M개의 줄에 미리 측정된 비교 결과가 한 줄에 하나씩 www.acmicpc.net 양방향 DFS 알고리즘으로 해결했다. 먼저 a b 로 가는 경로가 존재하는 것으로 생각한다. 수학에서 ac 라는 것이다. 즉, 물건 a,b의 비교 결과를 알아내라는 문제를 a->b 로 가는 경로 혹은 b->a로 가는 경로가 있는지 측정하는 것으로 바꿔 생각한다. 원래는 이를 토대로 플로이드 와샬 알고리즘으로 해결하면 되지만 양방향으로 DFS를 돌리며 둘 다..

책이름 : 1일 1로그 100일 완성 IT 지식 저자 : 브라이언 W.커니핸 독서 이유 : 1. 예전에 IT 관련 책 찾아보다 개발자 필독서라는 글을 보았고 2. 요즘 IT 지식 관련하여 궁금한게 많아 구글이나 유튜브에서 많이 찾아보고 있었다. 3. 마침 집 앞 도서관에 있었다. 후기 : 책의 주제는 100일동안 하루에 하나씩 간단한 IT 관련 지식을 쌓아보자! 인데, 생각보다 내용이 무겁다. 가끔 이해하기 힘든 내용들도 있었고 (특히 통신 부분) .. 생각보다 더 많은 내용을 알려주는 책이라고 느꼈다. 특히 윈도우 개발자다보니 웹에 대한 지식은 많이 없는데, 웹, 프로토콜, 인터넷, 통신 등 간지러웠던 부분들 잘 긁어줘서 좋았다. 그리고 저자분께서 많이 표현하시진 않지만 엄청 유능하고 똑똑하시다는것과 ..
https://www.acmicpc.net/problem/20366 20366번: 같이 눈사람 만들래? 높이가 (2, 5), (3, 5)로 구성된 눈사람 둘을 만드는 것이 최적의 경우 중 하나이다. |7-8| = 1 다른 경우로는 (2, 9), (5, 5)로 두 눈사람을 만드는 경우가 있다. |11-10| = 1 www.acmicpc.net 정렬 후 투포인터를 이용한다. #include #include #include using namespace std; int main() { int n; int ans = 1e9; cin >> n; vector vec(n); for(int i = 0; i > vec[i]; sort(vec.begin(), vec.end()); for(int i..
https://www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 www.acmicpc.net 두 홀수 소수의 합으로 n을 나타낼 수 없는 경우에는 "Goldbach's conjecture is wrong." 을 출력하라고 문제에 나와있는데 그럴 필요없다. 왜냐면 문제에서 주어진 n의 범위는 6 ≤ n ≤ 1000000 이고, 골드바흐의 추측은 이미 10의 18제곱 까지 증명되었기 때문이다. 그러므로 그냥 에라토네스의 체를 이용하여 ~n 까지의 소수의 개수를 미리..