전체 글
-
[알고리즘 정리] 순열, next_permutation 구현Development/Algorithm 2020. 4. 29. 01:39
다룰 내용 순열이란 무엇인가? 순열 구현 next_permutation이란 무엇인가? next_permutation 구현 순열이란 무엇인가? 순서 있게 수들을 나열하는 것으로, 원소의 순서가 의미있다면 순열입니다. 서로 다른 N개의 수 중에 R개를 선택하여 나열(nPr)로 표현할 수 있고 경우의 수를 구하면 nPr = n * n - 1 * n - 2 ~~ n - r + 1 이렇게 구할 수 있습니다. 순열을 구현하는 방법 각 자리에서 앞 쪽에 선택된 수를 배제합니다. (앞쪽에서 선택된 수를 알기 위해 boolean 배열 사용) 현재 자리에서 선택 가능한 수를 선택합니다. import java.io.BufferedReader; import java.io.IOException; import java.io.In..
-
[Web] Web의 동작 이해하기Development/Web 2020. 4. 26. 19:30
다룰 내용 HTTP란 무엇인가? Request, Response 형식 Request Method Response Code HTTP란 무엇인가? HTTP는 HyperText Transfer Protocol의 약자로, 인터넷 상에서 클라이언트와 서버가 데이터를 주고 받기 위한 통신 규약을 말합니다. HTTP 특징 및 장단점 HTTP는 무상태(Stateless)의 특징을 가지고 있습니다. 즉, 연결을 유지하지 않는 특징을 가집니다. 따라서 이전에 처리했던 클라이언트에 대한 정보와 상황을 유지하지 않습니다. 이러한 특징 때문에 정보 유지가 어려워 Cookie와 같은 기술이 등장하며 정보를 유지할 수 있게 되었습니다. 반면 연결을 계속 유지하지 않는다는 특징 때문에 더 많은 요청과 응답을 처리할 수 있다는 장점이..
-
[백준] 14503_로봇 청소기(java)Problem Solving/BOJ 2020. 4. 20. 15:41
https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북중 하나이다. 지도의 각 칸은 (r, c)로 나타낼 수 있고, r은 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로 부터 떨어진 칸의 개수이다. 로봇 청소기는 다음 www.acmicpc.net 문제 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 ..
-
[백준] 16236_아기 상어(java)Problem Solving/BOJ 2020. 4. 8. 00:47
https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크 www.acmicpc.net 문제 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에..
-
[알고리즘 정리] 재귀Development/Algorithm 2020. 4. 8. 00:19
다룰 내용 재귀란 무엇인가? 재귀를 구현할 때 주의할 점 Factorial Fibonachi 재귀란 무엇인가? 자신의 메소드 내부에서 자신의 메소드를 호출하는 것 재귀를 구현할 때 주의할 점 1) 메소드의 역할을 명확히 해야 함. 2) 자신이 해야할 일과 나머지 작업으로 분리해야 함. 3) 기저 조건이 반드시 있어야 함. (재귀 탈출 조건) -> 기저가 없으면 스택 오버 플로우 발생 4) 재귀의 깊이를 생각해야 함. (상태 공간 트리 활용) 5) 깊이뿐만 아니라 수행시간도 고려해야 함. Factorial 5! -> 5 * 4 * 3 * 2 * 1 => 이는 5 * 4! 형태로 이해할 수 있음. => 또 5 * 4 * 3! 형태로도 이해할 수 있음. => 5 * 4 * 3 * 2! 형태 => 5 * 4 *..
-
[프로그래머스] 42746_가장 큰 수(c++)Problem Solving/PROGRAMMERS 2019. 11. 25. 18:44
문제 설명 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..
-
[Web Server] Apache Tomcat 다운로드 및 설치Development/Web Server 2019. 11. 15. 13:35
설치 개발 환경 Apache Tomcat 9.0 ▶ Apache Tomcat 설치 과정 오늘은 Apache Tomcat 9 버전 다운로드하는 방법을 포스팅하고자 합니다! 후에 포스팅에서는 Eclipse와 Tomcat 연동에 대한 포스팅을 하도록 하겠습니다! 우선 설치부터 시작합시다. Apache Tomcat 다운로드 사이트 https://tomcat.apache.org/download-90.cgi Apache Tomcat® - Apache Tomcat 9 Software Downloads Welcome to the Apache Tomcat® 9.x software download page. This page provides download links for obtaining the latest versi..
-
[Spring Framework] 스프링 시작하기1(STS 다운로드 및 설치)Development/Spring Framework 2019. 11. 15. 12:48
설치 개발 환경 STS 3.9.10.RELEASE 개발 환경 MySQL Server 8.0 Apache Tomcat 9.0 JDK 1.8.0 ▶ SpringFramework 설치 과정 Spring을 설치하는 데에는 두 가지 방법이 있습니다. - STS(Spring Tool Suite)를 설치하는 방법 - 기존 Eclipse에 plug-in 형식으로 설치하는 방법 저의 경우 기존 Eclipse에서 진행하는 프로젝트와 SpringFramework로 작업하는 프로젝트를 분리하고, Spring 개발을 편하게 하기 위해 STS로 결정했습니다! STS 설치 사이트 https://spring.io/tools3/sts/all Spring Tool Suite™ 3 (STS 3) Download page Use one o..