목록전체 글 (591)
어흥
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42884?language=java 코딩테스트 연습 - 단속카메라 [[-20,-15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr 1. 주의할 점 - 정렬 기준을 선택한다 - 정렬기준에 따라 더 나은(? 짧은) 방법을 선택한다 2. 구현 - 차량의 끝지점을 기준으로 오름차순 정렬을 한다. 같다면, 시작점의 오름차순으로 정렬한다 - 우선순위큐를 사용하여 각 차량의 구간을 정렬한다 - 1개 뽑은 이후, 이 구간의 가장 오른쪽 끝부분(Right)과 우선순위큐에서 뽑아내는 원소의 가장 왼쪽부분(Cl)을 비교한다 - Right < Cl라면 새로운 구간이 생겨나므로 ..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/1845?language=java 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 1. 주의할 점 - 무엇을 출력해야하는지 잘 살펴본다 (조합의 수로 생각했다가 문제만 여러번 다시 읽었다..) 2. 구현 - Map을 이용해서 를 저장한다 - 폰켓몬의 종류와(Map의 크기) 골라야하는 폰켓몬의 수(Nums/2)를 비교하고, 둘 중 작은것을 반환한다 [C++] #include #include #include..
문제 링크: https://www.acmicpc.net/problem/2064 2064번: IP 주소 네트워크에 연결되어 있는 컴퓨터들은 각각 하나의 IP 주소를 갖게 된다. 그리고 이러한 IP 주소를 갖는 컴퓨터들이 여러 개 모여서 하나의 IP 네트워크를 구성하게 된다. IP 네트워크는 ‘네트워 www.acmicpc.net 1. 주의할 점 - 비트마스킹을 이용해도 되지만, 네트워크 주소의 결과가 0.255.255.0이 나왔을때 전부 0으로 바꿔야하는 작업이 필요 2. 구현 - 입력 받는 문자열을 int2string() 함수를 이용하여 전부 2진수로 바꾼다 - 해당 반환값을 Ip[] 배열에 String 형태로 저장한다 - 모든 문자열을 처음부터 비교하여 왼쪽에서부터 Idx-1까지 같다고 할때, Idx를 ..
문제 링크: https://www.acmicpc.net/problem/14940 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net 1. 주의할 점 - 0과 -1을 출력하는 기준을 정확히 알아야 한다 2. 구현 - init() 함수를 통해 Check[][] 배열을 초기화한다. Check[][] 배열은 정답 배열이다 - 지도에 대한 정보를 Arr[][]에 받으며, 목표지점에 대한 정보를 Sx, Sy에 저장한다 - BFS 탐색을 통해 목표지점에서 도달할 수 있는 지점까지의 ..
문제 링크: https://www.acmicpc.net/problem/19538 19538번: 루머 예제 1 0분 : 최초 유포자($1$, $6$번 사람)가 루머를 생성한다. 1분 : $1$번 사람은 $2$, $3$번 사람에게 루머를 퍼뜨린다. $2$번 사람은 주변인 $2$명 중 $1$명이 루머를 믿고 있어 루머를 믿게 된다. $3$ www.acmicpc.net 1. 주의할 점 - 루머를 퍼트리는 일은 동시에 일어난다 2. 구현 - BFS의 방법으로 문제를 해결한다 - Info 객체를 사용하여 현재 사람의 번호, 루머를 들은 시간, 당시에 주변에 루머 믿었던 사람 수 - rumorTime[] 배열을 이용하여 루머를 믿는 시간을 저장한다. 초기에는 init() 함수를 통해 -1로 전부 초기화한다 - nea..
문제 링크: https://www.acmicpc.net/problem/16118 16118번: 달빛 여우 첫 줄에 나무 그루터기의 개수와 오솔길의 개수를 의미하는 정수 N, M(2 ≤ N ≤ 4,000, 1 ≤ M ≤ 100,000)이 주어진다. 두 번째 줄부터 M개의 줄에 걸쳐 각 줄에 세 개의 정수 a, b, d(1 ≤ a, b ≤ N, a ≠ b www.acmicpc.net 1. 주의할 점 - 늑대가 같은 지점에 최단 경로로 도착하는것보다 돌아서 가는게 빠를 수 있다(느릴 때, 빠를 때 적절히 이용) - 1번째 Node까지의 최단시간을 0으로 설정하지 않는다(0을 이용하여 돌아갈 수 있다) - d와 M의 범위가 크므로 Long Long을 이용한다 2. 구현 - Info 객체를 이용한 우선순위 큐를 ..
문제 링크: https://www.acmicpc.net/problem/5972 5972번: 택배 배송 농부 현서는 농부 찬홍이에게 택배를 배달해줘야 합니다. 그리고 지금, 갈 준비를 하고 있습니다. 평화롭게 가려면 가는 길에 만나는 모든 소들에게 맛있는 여물을 줘야 합니다. 물론 현서는 www.acmicpc.net 1. 주의할 점 - 다익스트라 알고리즘에 대해 알고 있어야 한다 2. 구현 - 1번 Node부터 각 Node까지의 거리를 MAX로 초기화한다 - 간선에 대한 정보를 V[] 벡터에 담는다 - 우선순위큐를 사용하여 다익스트라 알고리즘을 구현한다 #define MAX 987654321 #include #include #include #include using namespace std; struct ..
1. 전체적인 흐름 2. 특징 Filter Interceptor AOP 특징 Servlet 단위에서 실행 Method를 감싸는 Proxy 패턴 역할 요청과 응답을 거른 뒤 정제 요청에 대한 작업 전/후로 가로챈다 OOP로 했을 때, 중복을 줄일 수 없는 부분을 줄이기 위해 종단면에서 바라보고 처리 사용 용도 1. 인코딩 변환 처리, 2. XSS 방어 스프링의 모든 Bean 객체에 접근 가능 1. 로그인/권한 체크 2. 프로그램 실행시간 계산 3. 로그 확인 비즈니스단의 메서드에서 더 세밀하게 조정하고 싶을 때 사용 1. 로깅 2. 트랜잭션 3. 에러 처리 실행 메서드 및 방법 Init() doFilter() destroy() preHandler() postHandler() afterCompletion()..