본문 바로가기

분류 전체보기103

[백준] 4179번 : 불! https://www.acmicpc.net/problem/4179 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문 www.acmicpc.net 지훈이가 미로를 통과할때 or 통과하지 못하는 경우를 위한 탈출 조건만 유의해주자! 처음에는 bfs함수로 두지않고 main에서 로직을 처리하고 bool 변수를 통해 종료조건을 걸어주려고 했지만, 고려하지 못한 상황이 있었는지 틀렸다고 한다. 따라서, 함수로 따로 두고 종료시점에 바로 return cnt를 통해 해결하였다. #include #include using namespace .. 2021. 11. 23.
[백준] 13398번 : 연속합 2 https://www.acmicpc.net/problem/13398 13398번: 연속합 2 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net DP문제 이다. 연속된 수열의 최대합을 구하는 문제지만, 수열중 숫자 1개는 삭제 가능하다는 추가 조건이 있다. 따라서, 삭제 기회를 쓰는경우와 안쓰는 경우로 나눈 이차원 배열을 사용하였다. dp[i][0] : 0부터 i번째까지 존재하는 연속된 수열의 최대합 & 삭제 기회 남음 삭제 기회를 사용하면 안되기 때문에 i-1번째까지 최대합에 현재 값을 더한것과 현재값부터 다시 시작하는 경우 두가지 경우를 .. 2021. 11. 22.
[백준] 2138번 : 전구와 스위치 https://www.acmicpc.net/problem/2138 2138번: 전구와 스위치 N개의 스위치와 N개의 전구가 있다. 각각의 전구는 켜져 있는 상태와 꺼져 있는 상태 중 하나의 상태를 가진다. i(1 < i < N)번 스위치를 누르면 i-1, i, i+1의 세 개의 전구의 상태가 바뀐다. 즉, 꺼져 www.acmicpc.net N=100000이기때문에 모든 전구에 대해서 스위치를 킬지 말지 고려하면 풀수 없다. O(n)만에 풀어야하는 문제다. 처음에 생각했던 로직은 메모리초과가 났고, 효율적인 로직이 생각나지 않아 결국 블로그(https://staticvoidlife.tistory.com/143)를 참고하여 풀었다. 이 문제는 2가지 케이스로 나누어 풀어야한다. 1. 0번째 전구를 키고 시작.. 2021. 11. 18.
[보안] SSL (Secure Socket Layer) 동작방식 HTTPS는 HTTP와 통신하는 소켓을 SSL로 대체한 것이다. SSL프로토콜은 보안 프로토콜로 대칭키/비대칭키 기반으로 데이터를 암호화한다. 실제 전송되는 데이터의 암호화에는 대칭키 암호화 방식을 사용하고, 키 교환 시에는 비대칭키 암호화 방식을 사용한다. 그럼 먼저 이 두개의 개념을 알아보자. 대칭키 암복호화에 사용되는 키가 동일한 암호화 방식 비대칭키보다 빠른속도로 암복호화하는 하는 장점을 가짐 다른 사람들에게 내가 정한 비밀키가 무엇인지 알려줘야하는 키교환 문제 존재 비밀키를 알려주다보면 키가 노출되어 보안문제 가능성 존재 비대칭키 암복호화에 사용되는 키가 다른 암호화 방식 공개키로 암호화하고 공개키와 매칭되는 개인키로만 복호화 가능 공개키는 누구든지 알아도 상관없고 개인키는 복호화해야 하는 대상.. 2021. 11. 6.
[웹서버] Apache vs Nginx (Event-driven 구조란?) Apache와 Nginx 모두 웹개발의 필수적인 웹서버이다. Apache 국내는 물론 전세계적으로 부동의 1위를 지키고 있는 웹서버 Process 기반 방식으로 클라이언트의 요청을 처리 요청에 따라 프로세스 또는 쓰레드를 생성하는 구조이므로 클라이언트의 요청이 많아질수록 Context Switching이 많아지면서 오버헤드 문제 발생 다양한 모듈 제공 (MPM : Multi Processing Module) 보안성 & 확장성 좋음 Nginx 웹의 발전에 따라 트래픽이 많아지면서 Apache의 한계를 극복하기 위해 탄생한 웹서버 Event-driven 구조로 클라이언트 요청 병렬 처리를 진행 → 동시 커넥션 양 & 속도 대폭 향상 Master Process가 있고 설정에 맞게 Worker process를 .. 2021. 11. 6.
[백준] 14502번 : 연구소 (삼성 SW 역량 테스트) https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net #include #include #include #include using namespace std; int map[8][8]; int map_cp[8][8]; int dx[4] = { -1,1,0,0 }; int dy[4] = { 0,0,-1,1 }; int N, M; int ans=0; vector virus; void bfs() { queue q; for (int i = 0; i < virus.size(.. 2021. 11. 2.