일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 난 분명히 1시에 잘 생각이었는데
- 정렬
- 백준
- O(logN)
- 파이썬
- 자동_형변환
- 또 2시네
- BOJ
- 또 2시야....
- jupyter_notebook
- 2시야
- 선택정렬
- 멋쟁이사자처럼후기
- comprehesion
- 몰라 뭐가 너무 많아졌어
- 5기
- 다 쓰고보니깐
- Python
- 데이터분석
- 알고리즘
- activation_function
- ELU
- TDB
- astreisk
- 멋쟁이사자처럼부트캠프
- 다 쓰고 보니깐 1시 반이야
- root_directory
- 멋사
- 23883
- 멋쟁이사자처러후기
Archives
- Today
- Total
유사개발자 샤이와 무지
볼링공 고르기 [Greedy] #이것이 코딩테스트다 본문
[문제] 볼링공 고르기: 문제 설명
A, B 두 사람이 볼링을 치고 있습니다.두 사람은 서로 무게가 다른 볼링공을 고르려고 합니다.볼링공은 총 N개가 있으며 각 볼링공마다 무게가 적혀 있고, 공의 번호는 1번부터 순서대로 부여됩니다.또한 같은 무게의 공이 여러개 있을 수 있지만, 서로 다른 공으로 간주합니다.볼링공의 무게는 1부터 M까지의 자연수 형태로 존재합니다.
예를 들어 N이 5이고, M이 3이며 각각의 무게가 차례대로 1, 3, 2, 3, 2일때 각 공의 번호가 차례대로 1번부터 5번까지 부여됩니다.이때 두 사람이 고를 수 있는 볼링공 번호의 조합을 구하면 다음과 같습니다.
(1번, 2번), (1번, 3번), (1번, 4번), (1번, 5번), (2번, 3번), (2번, 5번), (3번, 4번), (4번, 5번)
결과적으로 두 사람이 공을 고르는 경우의 수는 8가지입니다.N개의 공의 무게가 각각 주어질 때, 두 사람이 볼링공을 고르는 경우의 수를 구하는 프로그램을 작성하세요.
난이도: ●○○| 풀이시간 30m | 시간제한 1초 | 메모리 128mb
<input case>
첫째 줄에 볼링공의 개수 N, 공의 최대 무게 M이 공백으로 구분되어 각각 자연수 형태로 주어집니다. (1 <= N <= 1,000, 1 <= M <= 10)
둘째 줄에 각 볼링공의 무게 K가 공백으로 구분되어 순서대로 자연수 형태로 주어집니다. (1 <= K <= M)
<Output case>
첫째 줄에 두 사람이 볼링공을 고르는 경우의 수를 출력합니다.
input example | Output example |
5 3 1 3 2 3 2 |
8 |
8 5 1 5 4 3 2 4 5 2 |
2 |
<Idea>
Q. 이 문제의 핵심은 결국 A != B인 케이스를 찾아내는 것과 이를 모든 케이스에서 고려하기 위한 이중 반복문을 사용하는 것입니다
n,m=map(int,input().split())
weight=list(map(int,input().split()))
case_=0 #결과값을 뽑기 위한
while weight: #weight list를 queue의 형태로 활용함으로써 실행마다 반복문의 길이를 줄이고 while문을 통해 직관성 향상
select=weight.pop(0) #임의로 A가 먼저 공을 pick
for i in weight:
if select != i: case_+=1 #서로 다른 공을 골라야 한다고 했으므로 다른 공을 고른 케이스만 더해줍니다
print(case_)
'WIL > algorithm' 카테고리의 다른 글
BOJ 23882 알고리즘 수업 - 선택 정렬2 #백준 (0) | 2023.07.10 |
---|---|
BOJ 23881 알고리즘 수업 - 선택 정렬1 #백준 (0) | 2023.07.07 |
만들 수 없는 금액 [Greedy] #이것이 코딩테스트다 (1) | 2023.05.19 |
문자열 뒤집기 [Greedy] #이것이 코딩테스트다 (0) | 2023.05.19 |
곱하기 혹은 더하기 [Greedy] #이것이 코딩테스트다 (0) | 2023.05.19 |
Comments