분류 전체보기
-
백준(BOJ) 1022번 소용돌이 예쁘게 출력하기알고리즘 풀이/백준(Boj) 2020. 4. 14. 12:40
문제 : https://www.acmicpc.net/problem/1022 1022번: 소용돌이 예쁘게 출력하기 첫째 줄에 r1, c1, r2, c2가 주어진다. 모두 절댓값이 5000보다 작거나 같은 정수이고, r2-r1은 0보다 크거나 같고, 49보다 작거나 같으며, c2-c1은 0보다 크거나 같고, 4보다 작거나 같다. www.acmicpc.net 풀이 : 1.r2-r1은 0보다 크거나 같고, 49보다 작거나 같으며, c2-c1은 0보다 크거나 같고, 4보다 작거나 같으니 board배열은 [50][5]로 처리하자. 2.while문은 네 꼭짓점이 모두 0이 아닐 때까지 계속된다. 3. y 에다 r1를 빼고 x에다 c1을 뺀 것을 처음 값으로 두자. 예제와 같이 (0-(-3), 0-(-3))으로 (3,..
-
JAVA의 Comparable, Comparator를 알아보자JAVA/Java 2020. 4. 13. 23:44
가령 "BbAaCc"와 같은 문자열을 "aAbBcC"와 같이 정렬하는 코드를 작성하는 상황이라면 아마도 정렬을 실시하는 코드를 작성하지만 비교 연산을 새로 정의하는 형태로 작성해야 할 것이다. 위 문제의 핵심은 비교 연산의 구현이다. 단순히 문자열을 char배열로 바꾸고 char형을 정렬하는데 비교하자면 ASCII값으로 비교해 버리기에 ABCabc와 같은 형태가 되기 떄문이다. 이렇게 일반적인 정렬 순서가 아닌 새로운 정렬 순서를 정의하고 싶거나 오브젝트를 정렬 시, 오브젝트 정렬에 사용될 값을 지정하는 역할을 하는 인터페이스가 Comparable과 Comparator이다. 위 코드에서 사용된 Arrays의 sort메서드는 배열의 타입이 참 조형일 경우 Comparable, Comparator 인터페이스..
-
프로그래머스 - 종이접기알고리즘 풀이/프로그래머스 2020. 4. 11. 19:13
문제 : https://programmers.co.kr/learn/courses/30/lessons/62049 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 종이를 반으로 접기 때문에 n이 증가할수록 (n-1)은 그대로 쓰이게 되고 ( 왼쪽 ) 반으로 접기 때문에 가운데 부분에 0이 생기고 (가운데) 데칼코마니 형태로 오른쪽이 생기기 때문에 이전 종이(n-1)를 접었던 것에 순서를 뒤집고 1은 0으로 0은 1로 바꾸어서 처리해주었다. ( 오른쪽 ) 코드 ( C++ )
-
백준(BOJ) 16638번 괄호 추가하기 2알고리즘 풀이/백준(Boj) 2020. 4. 9. 15:26
문제 : https://www.acmicpc.net/problem/16638 16638번: 괄호 추가하기 2 길이가 N인 수식이 있다. 수식은 0보다 크거나 같고, 9보다 작거나 같은 정수와 연산자(+, -, ×)로 이루어져 있다. 곱하기의 연산자 우선순위가 더하기와 빼기보다 높기 때문에, 곱하기를 먼저 계산 해야 한다. 수식을 계산할 때는 왼쪽에서부터 순서대로 계산해야 한다. 예를 들어, 3+8×7-9×2의 결과는 41이다. 수식에 괄호를 추가하면, 괄호 안에 들어있는 식은 먼저 계산해야 한다. 단, 괄호 안에는 연산자가 하나만 들어 있어야 한다. 예를 들어, www.acmicpc.net 풀이 : 기존 괄호 추가하기 문제는 단순히 해당하는 괄호 연산 (A 연산자 B) 를 ( A 연산자 B + 0 ) 의..
-
백준(BOJ) 1726번 로봇알고리즘 풀이/백준(Boj) 2020. 4. 8. 17:14
문제 : https://www.acmicpc.net/problem/1726 1726번: 로봇 많은 공장에서 로봇이 이용되고 있다. 우리 월드 공장의 로봇은 바라보는 방향으로 궤도를 따라 움직이며, 움직이는 방향은 동, 서, 남, 북 가운데 하나이다. 로봇의 이동을 제어하는 명령어는 다음과 같이 두 가지이다. 명령 1. Go k: k는 1, 2 또는 3일 수 있다. 현재 향하고 있는 방향으로 k칸 만큼 움직인다. 명령 2. Turn dir: dir은 left 또는 right 이며, 각각 왼쪽 또는 오른쪽으로 90° 회전한다. 공장 내 궤도가 설치되 www.acmicpc.net 풀이: BFS를 통해 처음 부분과 좌표를 넣은 후에 1,2,3만큼 가는 경우와 방향을 바꾸는 경우를 큐에 넣어주어야 한다. 이때 주..
-
백준(BOJ) 11559번 Puyo Puyo알고리즘 풀이/백준(Boj) 2020. 4. 8. 17:05
문제 : https://www.acmicpc.net/problem/11559 11559번: Puyo Puyo 현재 주어진 상황에서 몇연쇄가 되는지 출력하라. (하나도 터지지 않는다면 0을 출력하면 된다.) www.acmicpc.net 풀이 : 1.BFS를 통해 4 이상이 되는 모든 알파벳들은 v 배열에 담아주게 되고 '.'을 만든다. 2. 알파벳들을 밑으로 내리고 내릴 알파벳이 없다면 종료하고 있다면 1. 을 반복한다. 코드(C ++)
-
Https는 공개키? 대칭키? 비대칭키?네트워크/네트워크 정리 2020. 4. 3. 01:37
공개키와 비대칭키를 혼용해서 쓰는 걸로 알고 있고 두 개 다 같은 말이라고 생각하고 글을 쓰겠다. Https 관련 글들을 보면 공개키를 통해 평문을 암호화 복호화한다고 되어있고 어느 글들은 공개키(비대칭키) + 대칭키 를 같이 사용하고 있다고 쓰여있다. 따라서 https의 통신 흐름을 좀 더 살펴보았다. 우선 CA기관과 인증서에 대해서 간략하게 알아보자. 인증서는 로컬로 내가 만들 수 있는 인증서 ( 사설 인증서 ) CA 기관에서 만든 인증서가 있다. ( 공인 인증서 ) 브라우저가 이미 인증서를 발급하는 기관들의 public 키를 알고있는 것. 내가 만든 인증서는 public키가 없고. 따라서 빨간색과 함께 warning이란 글이 보이는 것이다. 암호화 복호화 알고리즘은 대칭키 비대칭키가 있게 되는데 대..
-
Apache와 Tomcat의 차이?Web/HTML5 웹 프로그래밍 입문 2020. 4. 3. 00:28
정적 자원은 Apache에서 처리하고 Tomcat 은 AWS로서 동적 자원을 처리한다는 것은 잘 알려져 있다. 하지만 JAVA에서 Tomcat은 정적 자원과 동적 자원을 동시에 처리하는 것으로 알고 있으며 Apache는 쓰지 않는 이유와 Tomcat 앞에 아파치 웹 서버(Httped)를 두어서 처리하는 게 성능이 좋다는 글도 있기에 아리송한 개념을 정리해 보려고 한다. 1. Apache Apache 서버는 오픈소스 라이선스에 따라 배포되어 마음대로 쓸 수 있는 Http 웹 서버이다. 데이터의 정적인 데이터들 (html, css 이미지, 파일 등)에 대한 클라이언트의 요청을 데이터로 만들어서 응답한다. 2. TomCat 웹 서버와 웹 컨테이너의 결합 다양한 기능을 컨테이너에 구현해 다양한 역할을 수행한다...