본문 바로가기

공부72

백준 10828 - 스택 [자료구조] 과거에 풀었던 문제지만 자료구조 공부 겸 항상 알고리즘만 풀다 까먹은 C++ 클래스 문법도 복습할 겸 다시 하게 되었다. 과거 코드는 그냥 C와 배열을 이용해서 풀었는데 이번에는 2학년 자료구조 수업을 떠올리며 링크드리스트로 다시 한번 구현해보았다. 2020. 2. 29.
백준 2167 - 2차원 배열의 합 [DP] 사실 이번 문제를 처음 봤을 때 제한 시간도 2초고 그리 어려워보이지 않아서 굳이 DP방식으로 풀어야하나? 싶었는데 밑에 K가 최대 10000인걸 보고 입닫고 풀었다. 이번 코드는 마구잡이로 푸느라고 코드가 깨끗하지 않다. DP[i][j] = arr[i][1] ~ arr[i][j-1] 의 합으로 두고 풀었다. 왜냐하면 arr[i][j]까지의 합으로 둘 경우 i j x y 가 1 1 1 1 이런식으로 나왔을 때 중복값을 다시 빼줘야하는 번거로움이 있기 때문에 그냥 이렇게 두고 arr[i][y]를 다시 더하게 해버렸다. 2020. 2. 29.
우분투 TCP window scaling 관련(Flow control) 서버개발캠프 프로젝트 중 부하 테스트를 진행하며 좀 더 서버의 성능을 올려보기 위해 건드렸던 것이 TCP window size였다. 작년에 컴퓨터통신 과목을 들었을 때 공부했던 기억이 어렴풋이 나서 프로젝트 중에 정말 반가웠다. 더 잊어먹기 전에 복습도 할 겸 정리를 하려고 한다. TCP의 window라는 개념은 TCP가 지원하는 여러 기능 중에 (당연히 UDP는 이런거 없다.) Flow control(흐름 제어)로 부터 만들어졌다. 흐름 제어는 Sender(S)와 Receiver(R)간의 송수신 속도 차이를 해결하기 위해 나온 것이다. R이 S보다 빠르다면 상관없겠지만 만약 S가 R보다 빠르다면? 언젠가는 R의 수신 버퍼가 꽉 차게 될 것이고 결국 나머지 데이터는 소실될 수 있다. Congestion .. 2020. 2. 29.
백준 1699 - 제곱수의 합 [DP] 스마일게이트 서버개발캠프도 어느덧 끝이 보인다. 이제 개발은 마무리 단계고 최종 결과 문서만 완료하면 정말 끝난다. 팀원들과 사당 스터디룸에서 미팅을 마치고 '복돈이'에서 부추 삼겹살 회식 후 소화 겸 푸는 알고리즘 문제 이번 문제에서도 역시나 한번에 통과하지 못했다... 첫 점화식을 잘못 세웠었는데 안일하게 가장 큰 제곱수(j*j)를 뺀 DP[i-j] + 1 이 DP[i]가 될 줄 알았는데 생각해보니 그렇게되면 12를 만들때 3이 아닌 4가 나오는 반례가 생긴다. 따라서 모든 경우의 수를 확인해 최소인 값이 DP[i]가 되는 구조로 바꾸니 정답 점화식을 세울 때 좀 더 생각해보고 코드를 짜는 버릇을 들여야겠다. 2020. 2. 27.
백준 11057 - 오르막수 [DP] 이번 문제는 어이없는 이유로 2번이나 실패했다. 1. 0~9를 표현하려면 배열의 크기가 10이여야 하는데 9로 선언 2. 10007으로 나눈 나머지 값을 출력하라는 문장을 못봤다. 이 것을 제외하면 크게 어려울 것은 없는 문제였다. DP[i][j] // i는 자릿수, j는 마지막에 오는 수로 선정해서 DP[i][j] = DP[i-1][0 ~ j] 의 합으로 두고 풀었다. 언제나 혹시 모를 범위 초과를 대비하기 위해 long long을 쓰는 강박증이 생긴 것 같다 2020. 2. 26.
백준 2293 - 동전1 [DP] 두번째 DP 문제 그렇게 어렵지 않아 보이는 문제인데도 첫 시도는 틀렸다. 동전이 순서가 다르더라도 구성이 같으면 같은 경우의 수로 치는 것을 고려를 하지 않았다. 따라서 value 값에 따라서 그 나머지를 구성하는 경우의수를 DP[j]로 놓고 했더니 성공! 2020. 2. 26.
백준 14501 - 퇴사 [DP] 서버개발캠프가 끝났으니 다시 알고리즘 공부 시작!! 알고리즘 공부하면서 느꼈던 나의 가장 취약점인 다이내믹 프로그래밍 부분을 타파하기 위해 쉬운문제부터 차근차근 하나씩 도전해보기로 결정했다. https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 2020. 2. 26.
반응형