FickleBoBo

[BaekJoon] 2630번 - 색종이 만들기 [Java][C++]

문제 링크 1. 아이디어 N×N 크기의 종이에 대해 현재 바라보는 종이가 전부 같은 색이 아니면 4등분을 한 후 다시 현재 바라보는 종이가 전부 같은 색인지 판단하며 같은 색이면 해당 색상의 개수를 세는 문제다. 현재 바라보는 색종이의 영역을 활용한 재귀 함수로 해결할 수 있다. 재귀 함수는 현재 바라보는 색종이의 맨 왼쪽 윗 칸의 위치 ...

[BaekJoon] 1931번 - 회의실 배정 [Java][C++]

문제 링크 1. 문제 풀이 전형적인 그리디 알고리즘의 활동 선택 문제로 한 개의 회의실에서 최대한 많은 회의를 하려면 회의 시간이 빨리 끝나는 회의부터 회의실에 배정하면 된다. 따라서 회의의 종료 시간을 기준으로 오름차순으로 정렬한 후 해당 회의를 배정하면 다음 회의는 이전에 배정한 회의의 종료 시간보다 시작 시간이 같거나 늦는 경우 배정하...

[BaekJoon] 1780번 - 종이의 개수 [Java][C++]

문제 링크 1. 아이디어 N×N 크기의 종이에 대해 현재 바라보는 종이가 전부 같은 숫자가 아니면 9등분을 한 후 다시 현재 바라보는 종이가 전부 같은 숫자인지 판단하며 같은 숫자면 해당 숫자의 개수를 세는 문제다. 현재 바라보는 종이의 영역을 활용한 재귀 함수로 해결할 수 있다. 재귀 함수는 현재 바라보는 종이의 맨 왼쪽 윗 칸의 위치 ...

[BaekJoon] 13305번 - 주유소 [Java][C++]

문제 링크 1. 문제 풀이 맨 왼쪽 도시부터 오른쪽 도시까지 이동할 때 최소 비용을 구하는 문제로 그리디 알고리즘을 활용하면 해결할 수 있다. 현재 도시에서 다음 도시로 가는 거리에 대해 현재까지 지나온 도시 중 기름 값이 가장 쌌던 도시에서 기름을 채워서 가면 최소 비용으로 맨 오른쪽 도시까지 갈 수 있다.(기름통의 크기가 무제한이므로)...

[BaekJoon] 11399번 - ATM [Java][C++]

문제 링크 1. 문제 풀이 ATM에서 각 사람은 앞사람이 인출하는데 걸리는 시간만큼 기다린 후 인출을 할 수 있다. 이때 첫 번째 사람부터 마지막 사람까지는 첫 번째 사람이 인출하는데 걸리는 시간만큼 기다려야 하고(첫 번째 사람은 자신의 인출 시간만큼 소요), 두 번째 사람부터 마지막 사람까지는 두 번째 사람이 인출하는데 걸리는 시간만큼 또...