[BaekJoon] 13305번 - 주유소 [Java][C++]
문제 링크 1. 문제 풀이 맨 왼쪽 도시부터 오른쪽 도시까지 이동할 때 최소 비용을 구하는 문제로 그리디 알고리즘을 활용하면 해결할 수 있다. 현재 도시에서 다음 도시로 가는 거리에 대해 현재까지 지나온 도시 중 기름 값이 가장 쌌던 도시에서 기름을 채워서 가면 최소 비용으로 맨 오른쪽 도시까지 갈 수 있다.(기름통의 크기가 무제한이므로)...
문제 링크 1. 문제 풀이 맨 왼쪽 도시부터 오른쪽 도시까지 이동할 때 최소 비용을 구하는 문제로 그리디 알고리즘을 활용하면 해결할 수 있다. 현재 도시에서 다음 도시로 가는 거리에 대해 현재까지 지나온 도시 중 기름 값이 가장 쌌던 도시에서 기름을 채워서 가면 최소 비용으로 맨 오른쪽 도시까지 갈 수 있다.(기름통의 크기가 무제한이므로)...
문제 링크 1. 문제 풀이 ATM에서 각 사람은 앞사람이 인출하는데 걸리는 시간만큼 기다린 후 인출을 할 수 있다. 이때 첫 번째 사람부터 마지막 사람까지는 첫 번째 사람이 인출하는데 걸리는 시간만큼 기다려야 하고(첫 번째 사람은 자신의 인출 시간만큼 소요), 두 번째 사람부터 마지막 사람까지는 두 번째 사람이 인출하는데 걸리는 시간만큼 또...
문제 링크 1. 문제 풀이 $N$ 번째 피보나치 함수에서 $0$ 과 $1$ 의 출력 횟수를 구하는 문제로 다이나믹 프로그래밍을 활용하면 해결할 수 있다. $N$ 번째 피보나치 수는 $N - 1$ 번째 피보나치 수와 $N - 2$ 번째 피보나치 수를 재귀 호출하므로 $0$ 과 $1$ 의 출력 횟수 역시 두 수의 $0$ 과 $1$ 의 출력 횟수...
이번 장에서는 JSON, XML, 프로토콜 버퍼(Protocol Buffers), 스리프트(Thrift), 아브로(Avro)를 비롯해서 데이터 부호화를 위한 다양한 형식을 살펴본다. 특히 어떻게 스키마를 변경하고 예전 버전과 새로운 버전의 데이터와 코드가 공존하는 시스템을 어떻게 지원하는지를 설명한다. 그다음 웹 서비스에서의 대표 상태 전달(REST,...
2장에서 애플리케이션 개발자가 데이터베이스에 데이터를 제공하는 형식을 설명했다. 그리고 나중에 다시 요청할 수 있는 메커니즘인 데이터 모델과 질의 언어도 살펴봤다. 이번 장에서는 같은 내용을 데이터베이스 관점에서 살펴본다. 즉, 데이터베이스가 데이터를 저장하는 방법과 데이터를 요청했을 때 다시 찾을 수 있는 방법을 설명하겠다. 1. 해시 색인 ...
문제 링크 1. 문제 풀이 두 정수 $n$, $m$ 에 대해 몫과 나머지를 구하는 문제로 수의 범위가 매우 크다. 큰 수를 다룰 수 있는 도구나 라이브러리를 활용하면 간단하게 해결할 수 있다. 2. 코드 1. 풀이 [Java] 큰 정수의 연산을 처리할 수 있는 BigInteger 클래스를 활용했다. import java.io....
문제 링크 1. 문제 풀이 오늘 날짜를 출력만 하면 된다. 2. 코드 1. 풀이 [Java] public class Main { public static void main(String[] args) { System.out.println("2026"); System.out.println("01"...
문제 링크 1. 문제 풀이 09:00부터 19:59까지의 시간대는 HOUR 함수와 BETWEEN 연산자를 활용해서 필터링하고 그룹핑을 해줬다. 2. 쿼리 SELECT HOUR(DATETIME) AS HOUR, COUNT(*) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) BETWEEN 9 AND 19 GROU...
문제 링크 1. 문제 풀이 IFNULL 함수를 활용해서 NULL이면 No name이 표시되게 했다. 2. 쿼리 SELECT ANIMAL_TYPE, IFNULL(NAME, 'No name'), SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID;
문제 링크 1. 문제 풀이 IF 함수를 통해 조건을 판별했다. CASE 문을 써도 해결할 수 있다. 2. 쿼리 SELECT ANIMAL_ID, NAME, IF(SEX_UPON_INTAKE LIKE '%Neutered%' OR SEX_UPON_INTAKE LIKE '%Spayed%', 'O', 'X') FROM...