컴퓨터공학 & 정보통신79 [알고리즘/메모] 이분 탐색 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. [운영체제] 멀티 스레드(Multi-Thread)에 대한 이해 스레드 한 프로세스 내에서 실행되는 흐름의 단위입니다. 스레드 분류 스레드는 크게 두 가지로 나뉩니다. 사용자 수준 스레드 (ULT) : 스레드 라이브러리(ex, pthread)를 사용하므로 운영체제 구분 없이 적용 가능, 그러나 스레드의 시스템 호출 수행 시 해당 스레드를 포함한 프로세스 내 다른 모든 스레드 블록 -> 성능 상 이점 별로 커널 수준 스레드 (KLT) : 같은 프로세스 내 다른 스레드 사용 가능 -> 성능 상 이점 멀티 스레드 한 프로세스 내에서 단일 스레드가 아닌 2개 이상의 스레드를 사용하는 경우 이를 멀티 스레드로 부릅니다. 멀티 스레드는 일반적으로 성능 향상에 이점이 있습니다. 각 스레드는 각각의 다른 CPU를 활용할 수 있는데, 이런 특징은 CPU를 덜 놀게 합니다. 또한 새 .. 2023. 8. 10. [디자인패턴] 어댑터(Adapter) 패턴에 대한 이해 개요 어댑터 패턴은 존재하는 클래스의 인스턴스가 다른 인스턴스로 사용가능하도록 설계하는 디자인 패턴입니다. 한국 여행객이 일본에 와서 한국산 충전기 220v를 사용하기 위해 110v로 변환하는 젠더를 사용하는데, 이 때 어댑터의 역할이 젠더의 역할과 동일합니다. 주로 제 3자가 제공하는 프로그램의 일부를 자신의 프로그램에 적용하여 사용하고자 할 때, 어댑터 디자인 패턴을 활용할 수 있습니다. 구현 예를 들어 보겠습니다. 회사 A는 애플 주식을 사는 메소드를 가진 클래스를 아래와 같이 작성했습니다. interface stock { fun buy(stockName : String) } class appleStock: stock { override fun buy(stockName : String){ print.. 2023. 8. 9. 이전 1 2 3 4 5 6 7 ··· 14 다음