[BaekJoon] 10814번 - 나이순 정렬 [Java][C++]
문제 링크 1. 문제 풀이 나이와 이름이 주어진 회원들에 대해 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 문제로 언어별 정렬을 활용하면 간단하게 해결할 수 있다. 2. 코드 1. 풀이 [Java] User 클래스를 만들어서 나이와 이름 정보를 저장하고 Array.sort 메서드에서 람다...
문제 링크 1. 문제 풀이 나이와 이름이 주어진 회원들에 대해 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 문제로 언어별 정렬을 활용하면 간단하게 해결할 수 있다. 2. 코드 1. 풀이 [Java] User 클래스를 만들어서 나이와 이름 정보를 저장하고 Array.sort 메서드에서 람다...
문제 링크 1. 문제 풀이 다섯 개의 자연수에 대한 평균과 중앙값을 구하는 문제로 평균은 다섯 수의 합을 $5$ 로 나누면 되고 중앙값은 다섯 수를 정렬한 후 세 번째 값을 찾으면 된다. 2. 코드 1. 풀이 [Java] import java.io.*; import java.util.*; public class Main { ...
문제 링크 1. 문제 풀이 커트라인을 구하는 문제로 정렬을 활용하면 간단하게 해결할 수 있다. 오름차순으로 정렬할 경우 맨 끝 값이 가장 높은 점수인 점에 주의해야 한다. 2. 코드 1. 풀이 [Java] import java.io.*; import java.util.*; public class Main { public...
문제 링크 1. 문제 풀이 수열의 길이 $N$ 이 최대 $100,000$, 주어진 구간의 최솟값과 최댓값을 구하는 쿼리의 수 $M$ 이 최대 $100,000$ 인 문제로 쿼리 당 $O(\log{N})$ 의 시간복잡도로 해결할 수 있는 세그먼트 트리를 활용하면 해결할 수 있다. 구간의 최솟값과 최댓값을 구하며 변경 쿼리가 없다는 점에서 희소 ...
문제 링크 1. 문제 풀이 길이가 짧은 것부터, 길이가 같으면 사전 순으로 정렬해서 출력하는 문제로 중복된 단어는 하나만 남기고 제거해야 한다. 조건에 맞춰 정렬을 먼저하고 출력 과정에서 이전 단어와 현재 단어가 동일하면 출력하지 않고 넘어가고 다르면 출력하고 이전 단어를 현재 단어로 갱신해주면 된다. 집합을 활용해서 먼저 중복을 제거해도 ...
문제 링크 1. 문제 풀이 수열의 길이 $N$ 이 최대 $100,000$, 주어진 구간의 최솟값을 구하는 쿼리의 수 $M$ 이 최대 $100,000$ 인 문제로 쿼리 당 $O(\log{N})$ 의 시간복잡도로 해결할 수 있는 세그먼트 트리를 활용하면 해결할 수 있다. 구간의 최솟값을 구하며 변경 쿼리가 없다는 점에서 희소 테이블을 활용해도 ...
문제 링크 1. 문제 풀이 주어진 연립방정식의 해를 찾는 문제로 연립방정식을 만족하는 $(x,\ y)$ 가 유일하게 존재하고 값의 범위가 $-999$ ~ $999$ 의 정수로 범위가 매우 작으므로 하나하나 대입해서 확인해보는 브루트 포스로 간단하게 해결할 수 있다. 2. 코드 1. 풀이 [Java] import java.io.*...
문제 링크 1. 문제 풀이 주어진 규칙을 따를 때 저장할 점을 구하는 문제로 한 행 또는 열을 구성하는 사각형의 수 $+1$ 이 한 행 또는 열을 구성하는 점의 수가 되며 이를 제곱한 값이 전체 점의 수가 된다. 현재 한 행을 구성하는 사각형의 수를 $a_n$ 이라고 하면 점화식은 $a_n = 2 \times a_{n-1}$ 이 되므로 일...
문제 링크 1. 문제 풀이 수열의 길이 $N$ 이 최대 $10^5$, 수열에서 특정 원소를 변경하거나 주어진 구간의 곱셈의 결과를 구하는 쿼리의 수 $K$ 가 최대 $10^5$ 인 문제로 쿼리 당 $O(\log{N})$ 의 시간복잡도로 해결할 수 있는 세그먼트 트리를 활용하면 해결할 수 있다. 주어진 구간의 곱셈 결과에서 양수인지, 음수인지...
문제 링크 1. 문제 풀이 구간의 합과 특정 위치에 대한 갱신 쿼리를 처리하는 문제로 세그먼트 트리를 구현하라는 문제다. 구간 합을 다루므로 펜윅 트리로도 해결할 수 있다. 주어진 구간을 나타내는 $i$, $j$ 가 $i > j$ 로 주어질 수 있음에만 주의해서 구현하면 된다. 2. 코드 1. 풀이 [Java] import...