Sicoree
취소

로봇 시뮬레이션

로봇 시뮬레이션 접근방법 딕셔너리를 활용하여 방향을 매핑하였다 그리고 단순 구현? 으로 F라면 1칸 전진 하며 갈 수 있는 장소인지 체크 L, R 이라면 4로나눈 몫을 구하여 방향을 저장해주었다 코드 # 2174 / 로봇 시뮬레이션 # https://www.acmicpc.net/problem/2174 # E, N, W, S d = { ...

K번째 최단경로 찾기

K번째 최단경로 찾기 접근방법 heapq와 Dijkstra 알고리즘을 이용하였다 heapq(우선순위 큐)에 대하여 알아보자면, 모든 부모 노드가 자식보다 작거나 같은 값을 갖는 이진 트리이다. 파이썬 에서는 heappush 를 사용하여 큐에 push 할 수 있고, heappop 을 사용하여 루트노드를 pop 할 수 있다. 다음과 같이 리스...

숨바꼭질 3

숨바꼭질 3 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 0초 후에 2*X의 위...

노드사이의 거리

노드사이의 거리 문제 N(2≤N≤1,000)개의 노드로 이루어진 트리가 주어지고 M(M≤1,000)개의 두 노드 쌍을 입력받을 때 두 노드 사이의 거리를 출력하라. 입력 첫째 줄에 노드의 개수 N이 입력되고 다음 N-1개의 줄에 트리 상에 연결된 두 점과 거리(10,000 이하의 정수)를 입력받는다. 그 다음 줄에는 거리를 알고 싶은 M개의 노...

히스토그램에서 가장 큰 직사각형

히스토그램에서 가장 큰 직사각형 문제 히스토그램은 직사각형 여러 개가 아래쪽으로 정렬되어 있는 도형이다. 각 직사각형은 같은 너비를 가지고 있지만, 높이는 서로 다를 수도 있다. 예를 들어, 왼쪽 그림은 높이가 2, 1, 4, 5, 1, 3, 3이고 너비가 1인 직사각형으로 이루어진 히스토그램이다. 히스토그램에서 가장 넓이가 큰 직사각형을 구...

구간 합 구하기

구간 합 구하기 문제 어떤 N개의 수가 주어져 있다. 그런데 중간에 수의 변경이 빈번히 일어나고 그 중간에 어떤 부분의 합을 구하려 한다. 만약에 1,2,3,4,5 라는 수가 있고, 3번째 수를 6으로 바꾸고 2번째부터 5번째까지 합을 구하라고 한다면 17을 출력하면 되는 것이다. 그리고 그 상태에서 다섯 번째 수를 2로 바꾸고 3번째부터 5번째까...

탈출

탈출 문제 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제일 친한 친구인 비버의 굴로 가능한 빨리 도망가 홍수를 피하려고 한다. 티떱숲의 지도는 R행 C열로 이루어져 있다. 비어있는 곳은 ‘.’로 표시되어 있...

Exception Handling

Exception Handling Spring에서 제공하는 @RestControllerAdvice, @ExceptionHandler 를 활용하여 API 예외처리를 하였다. 그 후 다음과 같은 일관된 ErrorResponse 반환을 목표 하였다. { "status": 400, "code": "U001", "message": "존재하지 않...

ResponseEntity 사용법, 사용이유

ResponseEntity ? httpentity를 상속받는, 결과 데이터와 HTTP 상태 코드를 직접 제어할 수 있는 클래스 HTTP 아키텍쳐 형태에 맞게 Response를 보내주는 것에도 의미가 있음 에러 코드와 같은 HTTP상태 코드를 전송하고 싶은 데이터와 함께 전송할 수 있기 때문에 세밀...

후위 표기식

후위 표기식 G2 문제 수식은 일반적으로 3가지 표기법으로 표현할 수 있다. 연산자가 피연산자 가운데 위치하는 중위 표기법(일반적으로 우리가 쓰는 방법이다), 연산자가 피연산자 앞에 위치하는 전위 표기법(prefix notation), 연산자가 피연산자 뒤에 위치하는 후위 표기법(postfix notation)이 그것이다. 예를 들어 중위 표기법으...