[BaekJoon] #16479 - 컵라면 측정하기 [Java][C++]
문제 링크 1. 아이디어 원뿔대의 윗면의 지름, 아랫면의 지름, 변의 길이가 주어졌을 때, 컵라면의 높이의 제곱을 구해야 하는 문제로 피타고라스 정리를 활용하면 해결할 수 있다. 2. 복잡도 접근 시간 공간 풀이 $O(1)$ ...
문제 링크 1. 아이디어 원뿔대의 윗면의 지름, 아랫면의 지름, 변의 길이가 주어졌을 때, 컵라면의 높이의 제곱을 구해야 하는 문제로 피타고라스 정리를 활용하면 해결할 수 있다. 2. 복잡도 접근 시간 공간 풀이 $O(1)$ ...
문제 링크 1. 아이디어 주어진 $N$개의 수를 정렬하는 문제로 수의 개수가 최대 $1{,}000{,}000$개라서 $O(N^2)$보다 빠른 정렬 알고리즘을 활용해야 한다. 2. 복잡도 접근 시간 공간 풀이 $O(N \log N)$ ...
문제 링크 1. 아이디어 주어진 $N$개의 수를 정렬하는 문제로 수의 개수도, 수의 범위도 작아서 어떤 정렬을 활용해도 된다. 2. 복잡도 접근 시간 공간 풀이 $O(N \log N)$ $O(N)$ ($N$ =...
문제 링크 1. 아이디어 주어진 도형의 실선으로 이루어진 둘레의 길이를 구하는 문제다. 주어진 도형의 가장 아랫부분의 정사각형이 $n$개일 경우, 위, 아래, 왼쪽, 오른쪽 어느 방향에서 바라봐도 보이는 실선의 길이는 모두 $n$으로 동일하다. 따라서 $4 \times n$이 최종 답이 된다. 정수 타입을 이용할 경우 $n$이 최대 $10^...
문제 링크 1. 아이디어 주어진 $N$개의 수를 정렬하는 문제로 수의 개수가 최대 $10{,}000{,}000$개로 매우 많은데 수의 범위는 작다는 점에서 카운팅 소트를 활용하면 효율적으로 해결할 수 있다. 1부터 최대 10,000까지 원소들의 등장 횟수를 카운팅한 다음 각 숫자의 등장 횟수만큼 출력하는 방식으로 해결했다. 2. 복잡도...
문제 링크 1. 아이디어 $N$이 최대 $500{,}000$이고 각 숫자가 $-10{,}000{,}000$ ~ $10{,}000{,}000$일 때, $M$개의 숫자에 대해 등장 횟수를 출력하는 문제다. 가장 간단하게는 맵을 활용해 등장 횟수를 판단할 수 있고, 주어진 숫자 카드를 정렬한 후 Lower Bound, Upper Bound 이분 탐...
문제 링크 1. 아이디어 $N$이 최대 $500{,}000$이고 각 숫자가 $-10{,}000{,}000$ ~ $10{,}000{,}000$일 때, $M$개의 숫자에 대해 등장한 적이 있는지 여부를 출력하는 문제다. 가장 간단하게는 집합을 활용해 등장 여부를 판단할 수 있고, 주어진 숫자 카드를 정렬한 후 이분 탐색을 통해 등장했는지 판단하는...
문제 링크 1. 아이디어 주어진 문자열들의 첫 글자와 마지막 글자를 연속하여 출력하는 문제로, 첫 문자와 마지막 문자에 접근하는 함수를 활용하면 간단하게 해결할 수 있다. 2. 복잡도 접근 시간 공간 풀이 $O(T)$ $O(1)...
문제 링크 1. 아이디어 체스에서 필요한 각 피스의 수에서 입력으로 주어진 피스들의 수를 빼면 더하거나 빼야 되는 피스의 수를 구할 수 있다. 2. 복잡도 접근 시간 공간 풀이 $O(1)$ $O(1)$ 3....
문제 링크 1. 아이디어 주어진 두 숫자를 거꾸로 읽은 후 더 큰 수를 출력하는 문제로 숫자를 문자열로 입력받아서 뒤집은 후 비교하는 방식으로 해결할 수 있다. 2. 복잡도 접근 시간 공간 풀이 $O(1)$ $O(1)$ ...