Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 15439번 - 베라의 패션 (PYTHON 풀이) 본문
문제:

문제는 다음과 같다. 우선 사용자로부터 입력을 받는다. 그리고 그 숫자만큼 세트 상하의가 있을 때, 같은 순서에 있는 상하의는 같은 색상이니 이를 제외한 다른 순서에 있는 것끼리 조합해서 해당 조합이 총 몇 가지인지 구하는 문제이다.
순서 : 12345
# 첫번째 케이스
상의 : 01234
하의 : 56789
<경우의 수>
0: 6789
1: 5789
2: 5689
3: 5679
4: 5678
-----------
# 두번째 케이스
상의: 01
하의: 23
<경우의 수>
0 : 3
1: 2
-----------
# 세번째 케이스
상의: 0123
하의: 4567
<경우의 수>
0: 567
1: 467
2: 457
3: 456
세 가지 케이스를 들고왔다. 예를 들어, 첫 번째 케이스는 입력값으로 5를 받은 상태이다. 이 경우 상의는 0~4, 하의는 5~9라고 가정했을 때 같은 라인에 있는 것들은 같은 색상일 것이다.(예시: (0,5), (1,6) ...) 그러니 같은 라인에 있는 조합은 제외하고 다른 라인에 있는 상하의 세트를 구하면 이는 서로 다른 색상의 조합이 된다.
역시나 규칙을 찾아야 하니 우선 경우의 수를 전부 적어보겠다. 첫 번째 케이스는 보다시피 각 상의에 따라 4가지의 하의 선택이 가능하다.
마찬가지로 세 번째 케이스 역시 입력값이 4이고, 각 상의에 따라 3가지의 하의 선택이 가능하다. 두 가지의 케이스를 보면 어떤 규칙성이 떠오를 것이다. 바로 'a*(a-1)' 이다. 첫 번째 케이스는 a가 5였는데 여기서 '5*(5-1)'을 하게 되면 20이 출력되고 두 세번째 케이스 역시 해당 식을 적용하면 직접 적은 경우의 수와 일치한다. 이와 같은 규칙을 코드로 적용하면 된다.
풀이:
a=int(input())
print(a*(a-1))
코드 설명은 너무 쉬운 관계로 생략하도록 하겠다.
이 문제 역시 규칙을 찾으면 너무나 쉽게 풀 수 있는 문제이다.
'CODING 💻' 카테고리의 다른 글
| 백준 24263번 - '알고리즘 수업 - 알고리즘의 수행 시간 2' (PYTHON 풀이) (0) | 2025.09.19 |
|---|---|
| 백준 24262번 - '알고리즘 수업 - 알고리즘의 수행 시간 1' (PYTHON 풀이) (0) | 2025.09.18 |
| 백준 27433번 - 팩토리얼 2 (PYTHON 풀이) (0) | 2025.09.16 |
| 백준 1193번 - 분수찾기 (PYTHON 풀이) (0) | 2025.09.15 |
| 백준 2292번 - 벌집 (PYTHON 풀이) (0) | 2025.09.14 |
