[SW10580] 전봇대

 

 SW Expert Academy- 전봇대 

문제 링크

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AXO8QBw6Qu4DFAXS 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

문제 입력

3
3
1 10
5 5
7 7
2
1 1
2 2
4
7 5
5 7
3 3
1 4
#1 2
#2 0
#3 2

 

문제 풀이

import sys

sys.stdin = open('input.txt', 'rt')
T = int(input())

for t in range(T):
    n = int(input())
    mp = [list(map(int, input().split())) for _ in range(n)]
    a, b = mp[0][0], mp[0][1]
    ans = 0
    
    for i in range(n - 1):
        a, b = mp[i][0], mp[i][1]
        for j in range(i + 1, n):
            a_, b_ = mp[j][0], mp[j][1]
            # a높 b낮 ok
            if a < a_ and b > b_:
                ans += 1
            # a낮 b높 ok
            if a > a_ and b < b_:
                ans += 1

    print(f"#{t + 1}", ans)

첫번째만 살펴보는 것이 아니라 모든 점을 그 이외의 것들과 비교해봐야합니다.

3번째 예제처럼 동떨어져있는 예외 경우가 발생할 수도 있습니다.

 

 

 

 

 

 

 

 

 

# SW Expert 전봇대 python 파이썬 문제풀이


 

728x90