CS

HTTP의 멱등성에 대해 알아보겠습니다. * 멱등성이란? 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질 HTTP MethodHTTP Method의 멱등성에 대해 알아보겠습니다.자주 사용되는 Method로는 GET, POST, PUT, PATCH, DELETE가 있습니다. GET예를 들어 어떠한 사용자의 정보를 가져오는 API가 있습니다. GET /users/1 HTTP/1.1 단순 조회만 하기 때문에 GET 요청을 몇 번을 하더라도 같은 결과를 가져옵니다.따라서 멱등성이 성립한다고 볼 수 있습니다.POST사용자를 등록하는 API입니다.POST /users HTTP/1.1{ "name" : "이이원", "age" : "15"}사용자를 등록하는 API는 서버의 상태가 변경되고, 데이터가 계속 추가..
REST API가 무엇인지 알아보고, API 설계 시 고려해야 할 점들을 알아보겠습니다. REST란? HTTP 저자 중 한 명인 로이 필딩이 HTTP의 우수성을 잘 살리지 못하는 것 같아 장점을 잘 살릴 수 있는 아키텍처로 REST를 고안해냈습니다. 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미합니다. REST API 구성 REST API는 크게 세 구성으로 나눌 수 있습니다. 자원(RESOURCE) - URI 행위(Verb) - HTTP METHOD 표현(Representations) - Http Message Payload 자원을 이름으로 구분(URI)하여 해당 자원의 상태를 조회(GET) 하거나, 자원의 상태를 생성(POST), 수정(PUT, PATCH), 삭제(DELETE)..
List 순서가 있고 중복을 허용합니다. 인덱스로 원소에 접근이 가능합니다. 크기가 가변적 입니다. ArrayList 단반향 포인터 구조로 데이터 순차적 접근에 강점을 가진다. 배열을 기반으로 데이터를 저장한다. 데이터 삽입, 삭제가 느리다. 데이터 검색이 빠르다. LinkedList 양방향 포인터 구조로 데이터 삽입, 삭제가 빠르다. ArrayList보다 검색이 느리다. Map Key와 Value의 한쌍으로 이루어지는 데이터의 집합. Key에 대한 중복이 없으며 순서를 보장하지 않는다. 뛰어난 검색 속도를 가진다. 인덱스가 따로 존재하지 않기 때문에 iterator를 사용한다. HashMap Key에 대한 중복이 없으며 순서를 보장하지 않는다. Key와 Value 값으로 NULL을 허용한다. 동기화가 ..
방문 길이 문제 설명 게임 캐릭터를 4가지 명령어를 통해 움직이려 합니다. 명령어는 다음과 같습니다. U: 위쪽으로 한 칸 가기 D: 아래쪽으로 한 칸 가기 R: 오른쪽으로 한 칸 가기 L: 왼쪽으로 한 칸 가기 캐릭터는 좌표평면의 (0, 0) 위치에서 시작합니다. 좌표평면의 경계는 왼쪽 위(-5, 5), 왼쪽 아래(-5, -5), 오른쪽 위(5, 5), 오른쪽 아래(5, -5)로 이루어져 있습니다. 예를 들어, "ULURRDLLU"로 명령했다면 1번 명령어부터 7번 명령어까지 다음과 같이 움직입니다. 8번 명령어부터 9번 명령어까지 다음과 같이 움직입니다. 이때, 우리는 게임 캐릭터가 지나간 길 중 캐릭터가 처음 걸어본 길의 길이를 구하려고 합니다. 예를 들어 위의 예시에서 게임 캐릭터가 움직인 길이는..
문제 설명 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. 개발의 방향을 잡기 위해 튜브는 우선 최근 화제가 되고 있는 "카카오 신입 개발자 공채" 관련 기사를 검색해보았다. 카카오 첫 공채..'블라인드' 방식 채용 카카오, 합병 후 첫 공채.. 블라인드 전형으로 개발자 채용 카카오, 블라인드 전형으로 신입 개발자 공채 카카오 공채, 신입 개발자 코딩 능력만 본다 카카오, 신입 공채.. "코딩 실력만 본다" 카카오 "코딩 능력만으로 2018 신입 개발자 뽑는다" 기사의 제..
문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예numbersreturn [6, 10, 2]..
문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 입출력 예numbersreturn "17" 3 "011" 2 입출력 예 설명 예제 #1 [1, 7]으로는 소수 [7, 17, 71]를 만들 수 있습니다. 예제 #2 [0, 1, 1]으로는 소수 [11, 10..
문제 설명 가로, 세로 길이가 n인 정사각형으로된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다. 예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 n개의 퀸은 서로를 한번에 공격 할 수 없습니다. 체스판의 가로 세로의 세로의 길이 n이 매개변수로 주어질 때, n개의 퀸이 조건에 만족 하도록 배치할 수 있는 방법의 수를 return하는 solution함수를 완성해주세요. 제한사항 퀸(Queen)은 가로, 세로, 대각선으로 이동할 수 있습니다. n은 12이하의 자연수 입니다. 입출력 예nresult 4 2 입출력 예 설명 입출력 예 #1 문제의 예시와 같습니다. 문제 풀이 조건을 보면, 1. 체스판의 가로, 세로 길이 및 퀸 개 수는 N개 이다. 2. N은 최대..
문제 설명 단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두 달라 어떤 순서로 설지 정하는데 시간이 오래 걸렸다. 네오는 프로도와 나란히 서기를 원했고, 튜브가 뿜은 불을 맞은 적이 있던 라이언은 튜브에게서 적어도 세 칸 이상 떨어져서 서기를 원했다. 사진을 찍고 나서 돌아오는 길에, 무지는 모두가 원하는 조건을 만족하면서도 다르게 서는 방법이 있지 않았을까 생각해보게 되었다. 각 프렌즈가 원하는 조건을 입력으로 받았을 때 모든 조건을 만족할 수 있도록 서는 경우의 수를 계산하는 프로그램을 작성해보자. 입력 형식 입력은 조건의 개수를 나타내는 정수 n과 n개의 원소로 구성..
해당 문제를 풀려면 DFS (깊이우선탐색) / BFS (넓이우선탐색)에 대한 이해가 필요하다. 그림에서 보다시피 DFS는 한 쪽으로 먼저 끝까지 탐색하고, BFS는 현재 위치에서 접근가능한 모든 노드(경우의 수)를 탐색 한 후 다음 Depth로 넘어간다. DFS - 재귀 또는 스택으로 구현 가능하다. - 깊게 탐색하는 것 - 어떤 노드를 방문하였는지에 여부를 반드시 검사해야한다. - 모든 노드를 방문하고자 할 때, 이 방법을 사용한다. - BFS에 비하여 간단하다. - BFS에 비하여 느리다. - 이동 과정에서 제약이 있을 경우 DFS를 사용하는 것이 유리 BFS - 재귀동작 X - 선입선출을 원칙으로 함 (FIFO) - 넓게 탐색하는 것 - 어떤 노드를 방문하였는지 여부를 반드시 검사 할 것 - 방문한..
infitry
'CS' 카테고리의 글 목록