분류 전체보기

· CS지식
사용자는 원하는 정보를 검색해서 요청을 보낼 수 있다. 그런데 URL에 'SSAFY'를 검색한다고 이 정보가 짠! 하고 나타나는 것은 아니다. 이 검색의 정보를 얻기까지 웹에서는 사용자의 요청을 받고 검색해서 그 정보를 사용자에게 돌려준다. 지금부터 이 과정에 대해 알아보고자 한다. 1. URL을 IP주소로 변환 WWW.SSAFY.COM 이라는 도메인 이름으로는 컴퓨터끼리 통신이 불가능하다. 인터넷상에서 컴퓨터가 읽을 수 있는 IP주소로 변환해야 서로 통신이 가능하다. 먼저 브라우저 캐시에 해당 URL이 존재하는지 우선 확인하고 존재한다면 그 정보를 불러온다.(대역폭 절약) 존재하지 않는다면 도메인 주소를 IP주소로 변환해 주는 DNS(Domain Name System) 서버에 요청하여 해당 URL의 I..
· CS지식
클라이언트는 웹 브라우저 주소창에 URL을 입력하고, 서버는 클라이언트 요청에 응답을 하여 웹페이지를 보여주는 것이 가장 기본적인 동작의 흐름이다. 이때 클라이언트가 서버로 보내는 데이터를 HTTP 패킷이라고 하며, HTTP 패킷은 크게 Header와 Body로 나뉜다. 그전에 간단하게 HTTP의 개념을 짚고 넘어가자. HTTP Hyper-Text Transfer Protocol은 www상에서 문서를 주고받는 프로토콜이다. (프로토콜 : 컴퓨터 또는 전자기기 간의 원활한 통신을 위해 지키기로 약속한 규약) 웹 상에서 통신을 주고 받을 수 있는 주체는 서버와 클라이언트다. 즉, 서버와 클라이언트 간 통신을 주고 받을 때 쓰는 규칙을 HTTP라고 한다. HTTP 패킷은 클라이언트가 서버로 요청을 보낼 때 보..
· CS지식
MVC패턴이 생겨난 이유 프로그램의 코드가 많아지면 많아질 수록 코드가 복잡해져서 파악하기도 어렵고, 유지보수가 많이 어려워졌다. 그러다가 프로그래머들이 하나의 패턴을 찾게 되었고, 이걸 논문으로 발표하면서 MVC 패턴이 유명해지게 되었다. MVC -> 유지보수가 편해지는 코드 구성 방식 1. 클라이언트가 구글에 "개발자"라고 검색 2. 컨트롤러는 요청을 받아서 모델에 "개발자"에 대한 검색 결과 데이터를 달라고 요청 3. 데이터를 받은 컨트롤러는 View한테 검색 결과 데이터를 전달한다. 4. View는 사용자가 보는 UI(레이아웃)에 검색 결과 데이터를 넣어서 웹페이지로 보여준다. Model : 데이터와 관련된 부분 View : 사용자한테 보여지는 부분 Controller : Model과 View를 ..
https://www.acmicpc.net/problem/2096 2096번: 내려가기 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다. www.acmicpc.net 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 4 MB (하단 참고) 32854 12480 9700 36.561% 문제 N줄에 0 이상 9 이하의 숫자가 세 개씩 적혀 있다. 내려가기 게임을 하고 있는데, 이 게임은 첫 줄에서 시작해서 마지막 줄에서 끝나게 되는 놀이이다. 먼저 처음에 적혀 있는 세 개의 숫자 중에서 하나를 골라서 시작하게 된다. 그리고 다음 줄로 내려가는데, 다음 줄로 내려갈 때에는 다..
https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 문제 어떤 나라에 N개의 도시가 있다. 이 도시들은 일직선 도로 위에 있다. 편의상 일직선을 수평 방향으로 두자. 제일 왼쪽의 도시에서 제일 오른쪽의 도시로 자동차를 이용하여 이동하려고 한다. 인접한 두 도시 사이의 도로들은 서로 길이가 다를 수 있다. 도로 길이의 단위는 km를 사용한다. 처음 출발할 때 자동차에는 기름이 없어서 주유소에서 기름을 넣고 출발하여야 한다. 기름통의 크..
https://swexpertacademy.com/main/talk/solvingClub/problemView.do?contestProbId=AV5PoOKKAPIDFAUq&solveclubId=AYWesuzK3nUDFAQK&problemBoxTitle=6%EC%A3%BC%EC%B0%A8&problemBoxCnt=5&probBoxId=AYdFW2sakzMDFASR+ SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 이 문제에서 가장 핵심인 곳은 긴 등산로를 만들기 위해 딱 한 곳을 정해서 최대 K깊이 만큼 지형을 깎을 수 있다는 점이다. K=4가 주어지면 이걸 1,1,1,1 or 1,1,2 이렇게 나눠서 깎는 것이..
https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의..
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net BFS의 대표적인 문제다. 1주일 전에 풀었는데 다시 풀려니깐 생각이 안나고 다시 코드를 찾아보게 돼서 정리하고자 한다. 미로는 배열의 처음부터 시작하고 N,M에 도착하면 끝난다. 그 중에서 가장 최단 거리로 이동할 수 있는 방법을 찾아야 한다. 나는 result 배열을 만들어서 구하고자 했다. 우선 전체 코드이다. package 단계별문제; import java.util.LinkedList; import java.util.Qu..
indeep
'분류 전체보기' 카테고리의 글 목록 (20 Page)