문제 해석
- N을 입력 받고 i번째 상의와 i번째 하위는 모두 같은 색상을 가지는데, N 개의 색상은 모두 다르다.
- 상의와 하의의 색이 다른 조합은 총 몇가지인지 출력하면 되는 문제이다.
- 이런 식으로, 조합을 찾으면 답은 6이 나오는 것을 볼 수 있다.
정리
1 -> 0
2 -> 2
3 -> 6
4 -> 12
5 -> 20
인데, 잘 생각해면 상의를 기준으로 본다면 각 상의마다 (N-1)개씩 조합을 가질 수 있다.
또, 그 조합이 상의 개수인 N개가 있는 거니까
다시말해 N(N-1)의 공식이 성립하는 것을 볼 수 있다.
코드
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
br.close();
bw.write(N*(N-1) + "\n");
bw.flush();
bw.close();
}
}
- 코드에선 설명할게 없고, 공식 찾는 부분은 위 정리 부분에서 설명했으므로 생략한다.
결과
느낀 점
- 뭔가 오랜만에 간단히 풀리는 문제를 푼 느낌이었다😊😊