#INFO 난이도 : SILVER2 문제유형 : 재귀 , DP 출처 : https://www.acmicpc.net/problem/9184 #SOLVE 문제에서 주어진 코드대로 재귀함수를 작성하면 시간초과가 발생한다. 따라서 메모이제이션(Memoization)이라는 기법을 사용해야 한다. 메모이제이션이란, 컴퓨터 프로그램이 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 메모리에 저장함으로 동일한 계산의 반복 수행을 제거하는 방식의 알고리즘 기법이다. _about Memoization 우선 문제에서 base condition (모든 재귀의 수렴 조건)을 제시해 주었기에 그대로 작성한다. int recur_w(int a, int b, int c){ // base condition if(a 20) retu..
#INFO 난이도 : SILVER3 문제유형 : 브루트포스 알고리즘 출처 : https://www.acmicpc.net/problem/1436 #SOLVE 모든 경우의 수를 탐색하는 브루트포스 방식으로 문제를 풀이하였다. 탐색을 수행할 숫자(cnt)를 to_string 함수를 이용해 문자열 타입으로 바꿔준 뒤, find 함수를 사용해 cnt 내부에 연속된 666이 존재하는지 탐색한다. string str = to_string(cnt); // cnt에서 연속된 666을 탐색한 경우 if(str.find("666") != -1){ a++; } #CODE #include #include // to_string, find using namespace std; void solve(int n){ ios::sync_..
* 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. * 지속적으로 내용을 수정해 나갈 예정입니다. _reference https://developer.mozilla.org/ko/docs/Web/HTTP/Messageshttps://developer.mozilla.org/ko/docs/Web/HTTP/Messages 인프런 - 모든 개발자를 위한 HTTP 웹 기본 지식 (김영한 강사님) _contents #1 HTTP란? #2 HTTP Message Structure #3 HTTP Response & Request Message #1 HTTP란? HTTP(HyperText Transfer Protocol)란 HTML 문서를 전송하기 위해 고안된 프로토콜(규..
*개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. *지속적으로 내용을 수정해 나갈 예정입니다. _Ref https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types _Content #1 Content-Type #2 MIME #3 Content-Type 종류 #1 Content-Type Content-Type이란 HTTP 통신에서 전송되는 데이터 타입을 나타내는 Header의 한 요소로 수신자는 명시된 Content-Type에 따라 수신측은 데이터를 어떻게 처리할 지를 결정한다. 만약 Content-Type을 따로 명시하지 않으면 수신측은 단순한 텍스트 데이터로 처리한다. Content-..
*개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. *지속적으로 내용을 수정해 나갈 예정입니다. _Contents #1 인코딩 & 디코딩 #2 encodeURIComponent & decodeURIComponent #1 인코딩 & 디코딩 인코딩이란 사람이 인식 가능한 문자열을 바이트 형식으로 변환하는 과정이다. 디코딩은 인코딩의 반대 개념으로 바이트 형식을 문자열로 변환하는 과정이다. 인코딩과 디코딩은 주로 HTTP 통신을 수행 시 URI에 한글 혹은 특수문자가 포함되어 있을 때 사용된다. 예를들어 다음 URI의 쿼리스트링 부분을 살펴보자.(?이후가 쿼리 스트링이다.) job에 프로그래머&블로거 라는 값이 전달 되기를 기대했지만, &특수문자는 &자체로 인식..