[BaekJoon] 10872번 - 팩토리얼 [Java][C++]
문제 링크 1. 문제 풀이 $N!$ 를 출력하는 문제로 $N!$ 는 $1$ 부터 $N$ 까지의 곱이다. 2. 코드 1. 풀이 [Java] import java.io.*; public class Main { public static void main(String[] args) throws IOException { ...
문제 링크 1. 문제 풀이 $N!$ 를 출력하는 문제로 $N!$ 는 $1$ 부터 $N$ 까지의 곱이다. 2. 코드 1. 풀이 [Java] import java.io.*; public class Main { public static void main(String[] args) throws IOException { ...
문제 링크 1. 문제 풀이 오늘 날짜를 출력하면 된다. 서버 시간대가 UTC여서 한국 시간과 9시간 차이가 나는 점만 주의하면 된다. 2. 코드 1. 풀이 [Java] public class Main { public static void main(String[] args) { System.out.printl...
1. CCW CCW(Counter-Clockwise)는 반시계 방향이라는 뜻으로, 평면 상의 세 점의 상대적인 방향을 판별하는 알고리즘이다. 서로 다른 세 점 $A$, $B$, $C$ 가 있을 때, $A \rightarrow B \rightarrow C$ 가 시계 방향인지 반시계 방향인지 아니면 일직선인지 판별할 수 있다. 2. 벡터의 외...
문제 링크 문제 풀이 BaekJoon 11050번 - 이항 계수 1 문제에서 $N$ 과 $K$ 의 범위가 더 커졌고, 이항 계수를 $10,007$ 로 나눈 나머지를 구해야 하는 문제다. 이항 계수는 팩토리얼 연산 때문에 수가 기하급수적으로 커지며 연산량도 많아져서 다이나믹 프로그래밍을 활용해서 효율적으로 구해야 한다. 파스칼의 삼각형을 2...
문제 링크 문제 풀이 자연수 $N$ 과 정수 $K$ 가 주어졌을 때 이항 계수를 구하는 문제로 파스칼의 항등식을 활용한 재귀로 해결할 수 있다. 파스칼의 삼각형을 통해 알 수 있는 파스칼의 항등식은 아래와 같다. [\binom{n}{r} \binom{n-1}{r} + \binom{n-1}{r-1}] 종료 조건은 아래와 같이 설정...
1. LCS LCS(Longest Common Subsequence)는 최장 공통 부분 수열이라는 뜻으로 주어진 여러 개의 수열 모두의 부분 수열이 되는 수열들 중에 가장 긴 것을 찾는 문제다. 이 문제를 해결하는 간단한 방법은 다이나믹 프로그래밍을 활용하는 것이다. 2. 2차원 배열을 활용한 LCS 주어진 두 문자열의 LCS를 구하는...
1. LCS LCS(Longest Common Substring)는 최장 공통 부분 문자열이라는 뜻으로 주어진 여러 개의 문자열 모두의 부분 문자열이 되는 문자열들 중에 가장 긴 것을 찾는 문제다. 최장 공통 부분 수열인 LCS(Longest Common Subsequence) 와는 다르다는 것에 주의해야 한다. 최장 공통 부분 수열과 마찬가지로...
1. 2차원 누적 합 2차원 누적 합(2D Prefix Sum)은 기존 1차원 누적 합 을 2차원까지 확장시킨 개념으로 기존 1차원 누적 합이 1차원 배열의 구간 합을 효율적으로 구할 수 있었다면, 2차원 누적 합은 2차원 배열의 영역 합을 효율적으로 구할 수 있는 전처리 기법이다. 주어진 2차원 배열에서 반복적으로 임의의 사각형 영역의 합을 ...
문제 링크 1. 문제 풀이 $x$ 와 $n$ 이 주어졌을 때, 수열은 $x$, $-x$, $x$, $\ldots$ 와 같이 $x$ 의 부호가 바뀐 것이 $n$ 번 반복된다. 이때 수열의 합을 구하는 문제로 두 항마다 합이 $0$ 이 되므로 $n$ 이 짝수면 수열의 합은 $0$ 이 되며, $n$ 이 홀수면 수열의 합이 $x$ 가 된다. ...
문제 링크 1. 문제 풀이 정수 $x$ 에 대해 팰린드롬이면 true 아니면 false를 반환하는 문제다. 팰린드롬은 앞에서부터 읽었을 때랑 뒤에서부터 읽었을 때 모두 동일한 문자열로 정수 $x$ 를 문자열로 변환하고 이를 뒤집는 함수를 통해 원본 문자열과 뒤집힌 문자열이 동일한지 여부로 판단해도 되고, $x$ 의 각 자릿수를 저장한 배열을...