문제 바로가기
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
나의 코드 및 설명 01
t = int(input())
for test_case in range(1,t+1):
n = int(input())
line = []
cnt = 0
for _ in range(n):
start, end = map(int, input().split())
line.append((start, end)) #입력한 전선 정보들을 리스트에 추가
#하나씩 꺼내어 보면서
for a,b in line:
for x,y in line:
#조건에 맞으면 카운트 해준다.
if a<x and b>y:
cnt += 1
elif a>x and b<y:
cnt += 1
#a전선과 b를 비교할 경우, b전선과 a전선을 비교할 경우는 같으므로 2로 나눈다.
print("#{} {}".format(test_case, cnt//2))
나의 코드 및 설명 02
t = int(input())
for test_case in range(1,t+1):
n = int(input())
line = []
cnt = 0
for _ in range(n):
start, end = map(int, input().split())
#전선을 하나씩 입력받을 때마다 기존에 있던 전선들과 비교한다.
for a,b in line:
if start<a and end>b:
cnt += 1
elif start>a and end<b:
cnt += 1
line.append((start,end))
print("#{} {}".format(test_case, cnt))
피드백
전선의 교차점이 생기는 경우는 위의 두 가지 경우이다. 전선들을 서로 비교하여, 전선의 교차점이 생기는 경우일 경우를 카운트 해주면 된다.
'SWEA (SW Expert Academy) > D3' 카테고리의 다른 글
[SWEA/D3] 3809 화섭이의 정수 나열 (0) | 2023.05.18 |
---|---|
[SWEA/D3] 7272 안경이 없어! (0) | 2023.05.18 |
[SWEA/D3] 1240 [S/W 문제해결 응용] 1일차 - 단순 2진 암호코드 / 딕셔너리 키,값 초기화에 유의하자 (0) | 2023.05.17 |
[SWEA/D3] 1493 수의 새로운 연산 (0) | 2023.05.17 |
[SWEA/D3] 1873 상호의 배틀필드 (0) | 2023.05.16 |