컴퓨터공학 & 정보통신87 [백준] 17485 진우의 달 여행 (Large) c++ 개요 인터넷에 유사한 풀이가 없어 해당 문제의 솔루션을 공유합니다. 체크리스트 DP 문제 유형임을 알고 접근했는가? DP 3차원 자료구조로 풀이를 작성했는가? 접근 방법 DP[i][j][k] 는 i행, j열에 왔을 때, 마지막으로 k 방향(0, 1, 2)으로 움직여 도착한 모든 경우의 수 중 최소 비용입니다. 예를 들어 DP[i][j][0] 은 DP[i-1][j+1][1] 과 DP[i-1][j+1][2] 중 더 작은 값과 현재 위치의 비용을 더한 값이 됩니다. (i-1행 j+1열에서 왼쪽으로 이동하여 i행 j열로 도착했기 때문) 솔루션을 간단하게 작성하기 위해 벡터의 크기를 +2 하여 2e9 (int 자료형에 담을 수 있는 정수 중 최댓값 근사값) 을 저장했습니다. 솔루션 #include #include.. 2023. 11. 17. [알고리즘/메모] C++ STL sort compare 함수 템플릿 개요 #include 에 sort 함수 내 comapre 함수에 대한 코드 예제입니다. 코드 템플릿 compare에서 참을 반환하는 조건을 기준으로 정렬됩니다. sort(target.begin(), target.end(), compare); #1 compare 예제 a < b 기준, 즉 올림차순으로 정렬됩니다. bool compare(int a, int b){ if(a < b){ return true; } return false; } #2 compare 예제 a 벡터 내 1번째 원소와 b 벡터 내 1번째 원소를 기준으로 올림차순 정렬 bool compare(vector a, vector b){ if(a[1] < b[1]){ return true; } return false; } #3 compare 예제 .. 2023. 10. 19. [알고리즘/메모] 이분 탐색 binary search 코드 작성 템플릿 이분 탐색 필요하신 분 사용하세요. int left = 0; int right = LENGTH-1; while(left ANSWER){ right = mid - 1; } else { left = mid + 1; } } C++ Fast I/O C++ Fast I/O 코드도 함께 사용할 일이 있으니 참고하세요. ios_base::sync_with_stdio(false); cin.tie(NULL); 참고 자료 Fast I/O for Competitive Programming - GeeksforGeeks A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and p.. 2023. 9. 15. [백준] 11052 카드 구매하기 c++ 문제 풀이 개요 대부분 풀이는 모두 DP 1차원 배열을 활용했습니다. 이 문제는 DP 2차원 배열을 통해서도 풀 수 있습니다. 로직 DP 테이블의 각 값은 i번까지의 카드를 조합해서 만들 수 있는 j개 카드 값들 중 최댓값 DP 테이블의 값을 채우는 과정에서 기존 최댓값에서 현재 카드를 추가할 수 있는 경우, 현재 카드를 추가한 경우와 기존 최댓값 사이의 대소 비교를 통해 최댓값이 결정됨을 확인할 수 있음 소스 코드 #include #include using namespace std; int DP[1001][1001]; int P[1001]; int main() { int N; cin >> N; for (int i = 1; i > P[i]; } /* 1 5 6 7 i j 1 2 3 4 개의 카드로 pn까지 활용해서.. 2023. 8. 26. [아키텍처] REST 아키텍처와 RESTful API에 대한 이해 개요RESTful API는 REST 아키텍처 스타일을 만족하는 API입니다.💡 참고API는 Application Programming Interface의 약자로 서로 다른 어플리케이션의 상호 통신을 위한 인터페이스입니다. 만약 API 에 대한 이해가 부족하다면 IBM 유튜브를 참고하세요. 초기 웹 아키텍처의 문제초기 웹 아키텍처에선 공통 서버-클라이언트 구현 라이브러리 CERN libwww에 의존했습니다. 이후 웹 생태계가 비대하게 성장하면서 이에 따른 새로운 하위 아키텍처에 대한 필요성이 대두되었습니다.기존 HTTP 프로토콜 및 기존 아키텍처와 공존할 수 있으며, 확장 가능한 아키텍처가 필요했습니다. REST (Representational State Transfer)로이 필딩은 REST 아키텍처.. 2023. 8. 11. [노트] 23-08-10 CS 대비 노트 개인적으로 메모한 CS 면접 관련 대비 노트 입니다. 알고리즘 분할정복 퀵소트 vs 머지소트 - (pivot, partition활용, 불안전 알고리즘) vs (동일한비율, 추가 메모리 할당) LCS(최장 부분 공통 수열) - DP를 활용하여 2차원 배열로 풀 수 있다. 네트워크 URI vs URL - 이름 vs 프로토콜 + 이름 HTTP 프로토콜 - 웹 데이터 교환의 기초이자 클라이언트-서버 프로토콜 소프트웨어 공학 RESTful API - REST 아키텍처 스타일 API Git merge vs rebase - 내부적으로 과정에 차이가 있는 브랜치 병합 관련 두 명령 코드스멜 - 프로그램 소스 코드에서 문제를 일으킬 가능성 있는 경우의 집합 (지나치게 긴 주석도 이에 포함된다) 핫스탠바이 - 동일한 서버.. 2023. 8. 10. 이전 1 2 3 4 5 6 7 8 ··· 15 다음