Koala - 12기/기초 알고리즘 스터디

[백준/python] 7795번: 먹을 것인가 먹힐 것인가

yeonju51 2023. 11. 6. 00:49

[문제]

https://www.acmicpc.net/problem/7795

 

7795번: 먹을 것인가 먹힐 것인가

심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을

www.acmicpc.net

 

[소스코드]

T = int(input())

for _ in range(T):
    N, M = map(int, input().split())
    sizes_A = list(map(int, input().split()))
    sizes_B = list(map(int, input().split()))
    
    sizes_A.sort()  
    sizes_B.sort() 
    
    count = 0  
    j = 0

    for i in range(N):
        while j < M and sizes_B[j] < sizes_A[i]:
            j += 1
        count += j

    print(count)

 

[문제풀이]

1. 테스트 케이스 개수를 입력받는다. (T)

2. A와 B의 크기 정보를 입력받는다.

3. .sort()메서드를 이용해 원소들을 정렬한다. 

4. A>B인 쌍의 개수를 저장하는 변수 count를 설정한다.

5. 반복문을 이용하여 A와 B의 크기를 비교한다.

6. count 변수값을 출력한다.

 

for _ in range(T): /  for i in range(T):

ex) 여기서 반복변수 'i' 는 해당 값을 사용하지 않고 단순히 반복 횟수를 지정하는데 사용된다. 

    = 이렇게 반복변수의 값을 무시하는 경우 (_)를 사용하여 코드를 간결하게 만들 수 있다.

for i in range(5):
    print("Hello")
    
for _ in range(5):
    print("Hello")