목록전체 글 (431)
mojo's Blog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/KDRrM/btrpcQze8ME/uEe5duaG5rfqUkzUKo8ckk/img.png)
문제 링크 => 2342번: Dance Dance Revolution (acmicpc.net) 2342번: Dance Dance Revolution 입력은 지시 사항으로 이루어진다. 각각의 지시 사항은 하나의 수열로 이루어진다. 각각의 수열은 1, 2, 3, 4의 숫자들로 이루어지고, 이 숫자들은 각각의 방향을 나타낸다. 그리고 0은 수열의 마 www.acmicpc.net 승환이는 요즘 "Dance Dance Revolution"이라는 게임에 빠져 살고 있다. 하지만 그의 춤 솜씨를 보면 알 수 있듯이, 그는 DDR을 잘 하지 못한다. 그럼에도 불구하고 그는 살을 뺄 수 있다는 일념으로 DDR을 즐긴다. DDR은 아래의 그림과 같은 모양의 발판이 있고, 주어진 스텝에 맞춰 나가는 게임이다. 발판은 하나의..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bWvPWx/btro7Cg4cBn/HOKfaF6lAPyjbRroxQe1G0/img.png)
서블릿 생성 1. src/main/java => New => Servlet 을 순서대로 클릭한다. 2. Java package, Class name을 정한 후 Next 버튼을 클릭한다. 3. (1) Description을 My first servlet 으로 작성한다. (2) URL mappings을 클릭 후 Edit 버튼을 클릭한다. (3) Pattern 명을 아래와 같이 /hello 로 변경 후 Ok 버튼을 클릭한다. (4) Next 버튼을 클릭한다. 4. Finish 버튼을 클릭한다. 5. 완성이다. 서블릿 코드 분석 ※ @WebServlet 애너테이션 @WebServlet(description = "My first servlet", urlPatterns = { "/hello" }) public cl..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bZrURc/btrpdohTXKG/sO4ethoWUtc2JE2xTcneEk/img.png)
서블릿의 개요 서블릿은 순수 자바 코드로 작성되며, 코드 자체만 보면 일반적인 자바 클래스와 다르지 않다. 다만 HttpServlet 클래스를 상속하여 서블릿 등록에 필요한 정보를 추가해야 하며, 서블릿 단독으로 실행할 수 없고 서블릿 컨테이너를 통해야 한다. 서블릿의 동작 과정은 다음과 같다. 1. HttpServlet을 상속받는 서블릿 클래스(MyServlet)을 구현한다. 2. 컨테이너는 url mapping 설정을 참고하여 서블릿을 등록한다. 3. 서블릿 객체 생성 및 init() 메서드를 실행한다. 4. 클라이언트 요청은 스레드로 동시 처리되며 각각 service() 메서드를 호출한다. 5. service() 메서드는 doGet(), doPost() 등 프로토콜에 따른 메서드를 호출한다. 6. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c2izod/btro6J1vg8l/lQLne8rfz848Kw11oinUs0/img.png)
서블릿과 JSP 서블릿이란? 자바 기반의 웹 프로그램 개발을 위해 만들어진 기술이다. 따라서 자바로 작성된 프로그램을 실행할 수 있는 서버 소프트웨어(ex : 톰캣)를 통해 관리된다. 즉 서블릿을 실행하기 위해서는 톰캣과 같은 서블릿 컨테이너가 필요하며 이러한 서버 소프트웨어는 일반적으로 WAS(Web Application Server)로 불리기도 한다. 기본적인 웹 요청과 응답 과정은 다음과 같다. 1. 클라이언트(웹 브라우저)가 서버에 페이지(html)를 요청한다. 2. 서버는 클라이언트에 요청받은 파일(html)을 응답한다. 3. 클라이언트는 수신받은 파일(html)의 내용(CSS, 자바스크립트 포함)을 해석하여 화면에 표시한다. HTML은 정적인 파일이므로 실시간으로 변하는 정보를 가져올 수 없다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/AguWp/btroTmeAYLD/y4si7ebWJg3M8XeShEDelK/img.png)
문제 링크 => 14725번: 개미굴 (acmicpc.net) 14725번: 개미굴 첫 번째 줄은 로봇 개미가 각 층을 따라 내려오면서 알게 된 먹이의 정보 개수 N개가 주어진다. (1 ≤ N ≤ 1000) 두 번째 줄부터 N+1 번째 줄까지, 각 줄의 시작은 로봇 개미 한마리가 보내준 먹이 www.acmicpc.net 로봇 개미 개발을 완료한 윤수는 개미굴 탐사를 앞두고 로봇 개미를 테스트 해보기 위해 위 그림의 개미굴에 로봇 개미를 투입했다. (로봇 개미의 수는 각 개미굴의 저장소를 모두 확인할 수 있을 만큼 넣는다.) 다음은 로봇 개미들이 윤수에게 보내준 정보다. KIWI BANANA KIWI APPLE APPLE APPLE APPLE BANANA KIWI (공백을 기준으로 왼쪽부터 순서대로 로봇 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bRFSbD/btroK1OYdo7/Y1aGxcZbNuN6KxI9vVfiz1/img.png)
문제 링크 => 2250번: 트리의 높이와 너비 (acmicpc.net) 2250번: 트리의 높이와 너비 첫째 줄에 노드의 개수를 나타내는 정수 N(1 ≤ N ≤ 10,000)이 주어진다. 다음 N개의 줄에는 각 줄마다 노드 번호와 해당 노드의 왼쪽 자식 노드와 오른쪽 자식 노드의 번호가 순서대로 주어진다. www.acmicpc.net 트리에 대한 문제이다. 문제 input 이 하나밖에 없어서 강박관념에 벗어나지 못할 만한 그런 문제이다. (간단하지만 어려운 문제) 먼저 문제 접근 방법은 다음과 같다. 1. 트리를 형성한다. 2. root 노드를 찾는다. 3. 중위 운행을 통해 해당 노드의 level, position을 부여한다. 4. level 별로 position 을 오름차순으로 정렬 후, 너비를 구..