새소식

Problem solving/문제 풀이 - 2022.05.17

[파이썬] 소프티어 GBC

  • -

문제 확인

 

Softeer

연습문제를 담을 Set을 선택해주세요. 취소 확인

softeer.ai

  • 사이트를 방문하여 문제를 확인해주세요.

나의 풀이

구간 마다 조건을 나눠서 푸는 방법도 생각해봤지만

각 위치에서의 속도 정보를 저장해서 비교했다. 이 방법이 더 편하고 실수할 일도 없을 거 같아서 선택했다. 

import sys

n, m = map(int, input().split())
# 제한 구간 정보
section_limit = [list(map(int, input().split())) for _ in range(n)]
# 테스트 구간 정보
section_test = [list(map(int, input().split())) for _ in range(m)]
# 제한 구간 정보 입력
speed_limit = []
for l, s in section_limit:
    speed_limit = speed_limit + [s for _ in range(l)]
# 테스트 구간 정보 입력
speed_test = []
for l, s in section_test:
    speed_test =  speed_test + [s for _ in range(l)]

result = max([speed_test[i] - speed_limit[i] for i in range(100)])
# 전부 속도를 지켰을 경우 음수니까 0 return
print(result if result >= 0 else 0)

다른 사람 풀이

구간 사이 차이에 따라서 조건을 나눠서 풀었다. 

import sys

N, M = map(int, sys.stdin.readline().split())

N_section = [list(map(int, sys.stdin.readline().split())) for _ in range(N)]
M_section = [list(map(int, sys.stdin.readline().split())) for _ in range(M)]
total = 0
max_diff = []

while True:
    if N_section == [] or M_section == []:
        break

    diff_length = M_section[0][0] - N_section[0][0] # 구간 길이 차이

    if diff_length > 0: # 구간 길이 차가 양수일 때
        max_diff.append(M_section[0][1] - N_section[0][1]) 
        N_section.pop(0) 
        M_section[0][0] = diff_length # M_section[0][0] 은 두 길이의 차이값이 된다
        
    elif diff_length < 0: # 구간 길이 차가 음수일 때
        max_diff.append(M_section[0][1] - N_section[0][1])
        M_section.pop(0)
        N_section[0][0] = -diff_length # N_section[0][0] 은 두 길이의 차이값에 -가 붙은 값이 된다. (음수형태로 나오므로) 

    else: # 구간 길이 차 = 0
        max_diff.append(M_section[0][1] - N_section[0][1]) 
        M_section.pop(0)
        N_section.pop(0)

if max(max_diff) >= 0:
    print(max(max_diff))

else: # 음수 값들만 있다면 전부 다 제한 속도를 넘지 않은 것이므로 0 출력
    print(0)
 

[Softeer/Python] GBC ★★☆☆☆ - 효과는 굉장했다!

Softeer 제한시간 : C/C++/Java/Python/JS(1초) | 메모리 제한 : 256MB 글로벌 비즈니스 센터(GBC, Global Business Center)는 현대자동차그룹 통합 사옥이다. 지하 7층, 지상 105층, 높이 약 570m의 규모로 2026..

thflgg133.tistory.com

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.