728x90
📌 문제
https://swexpertacademy.com/main/main.do
📌 문제 접근 방법
- 방 위치를 복도 기준으로 바꾼다는 아이디어는 처음부터 생각했었지만, 그걸 카운팅해서 가장 큰 숫자를 출력하면 된다는 것까지는 생각하지 못했다,,
- 그리고 테스트 케이스에서 항상 temp[0]이 temp[1]보다 작아서 반대의 경우를 고려 안했다가 계속계속 틀렸다,,
완성하고보니 코드 참 깔끔하넹
📌 코드
import sys
sys.stdin = open('input.txt')
T = int(input())
for t in range(1, T+1):
N = int(input())
# 사용 중인 복도를 표시할 리스트
corridor = [0] * 200
# 학생들의 방 위치를 복도를 기준으로 바꾸어서 카운팅
'''
stu_room 1 3 5 7 ... 399
corridor 0 1 2 3 ... 199
stu_room 2 4 6 8 ... 400
'''
for n in range(N):
temp = list(map(int, input().split()))
for i in range(2):
if temp[i] % 2:
temp[i] = (temp[i] - 1) // 2
else:
temp[i] = (temp[i] - 2) // 2
if temp[0] <= temp[1]:
for j in range(temp[0], temp[1]+1):
corridor[j] += 1
else:
for j in range(temp[1], temp[0]+1):
corridor[j] += 1
# 가장 많이 카운팅된 수를 출력하면, 그 복도를 동시에 사용할 수 없는 횟수이기 때문에 정답
print('#{} {}'.format(t, max(corridor)))
728x90
'ALGORITHM > SW Expert Academy' 카테고리의 다른 글
[SWEA/Python] 5207. 이진탐색 (0) | 2021.10.07 |
---|---|
[SWEA/Python] 1244. 최대 상금 (0) | 2021.10.04 |
[SWEA/Python] 4871. 그래프 경로 (0) | 2021.08.24 |
[SWEA/Python] 4869. 종이붙이기 (0) | 2021.08.24 |
[SWEA/Python] 1221. GNS (0) | 2021.08.23 |
댓글