본문 바로가기
코딩테스트/softeer

[python] Level2_GBC

by brown_board 2023. 1. 4.
728x90

https://softeer.ai/practice/info.do?idx=1&eid=584&sw_prbl_sbms_sn=117856 

 

Softeer

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

softeer.ai

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import sys
# sys.stdin = open("input3.txt",'r')
 
n,m = map(int,sys.stdin.readline().split())
 
#빈 딕셔너리 생성
n_dict = {}
#거리값을 더해서 총 100이 되도록 하기
n_array = []
cnt = 0
for i in range(n):
    distance, speed = map(int,sys.stdin.readline().split())
    distance += cnt
    n_array.append([distance,speed])
    cnt = distance
 
# 1~100까지 속도값주기
count = 0    
for i in range(len(n_array)):
    for number in range(1,101):
        #일단 처음 거리값보다 같거나 작을 때 그때의 속도값을 넣기
        if count < number <= n_array[i][0]:
            n_dict[number] = n_array[i][1]
        # 거리보다 커지면 탈출
        elif number > n_array[i][0]:
            break
    count = n_array[i][0]
 
# m도 마찬가지
m_array = []
cnt = 0
for i in range(m):
    distance, speed = map(int,sys.stdin.readline().split())
    distance += cnt
    m_array.append([distance,speed])
    cnt = distance
 
# 1~100까지 속도값주기
count = 0
m_dict = {}
for i in range(len(m_array)):
    for number in range(1,101):
        #일단 처음 거리값보다 같거나 작을 때 그때의 속도값을 넣기
        if count < number <= m_array[i][0]:
            m_dict[number] = m_array[i][1]
        # 거리보다 커지면 탈출
        elif number > m_array[i][0]:
            break
    count = m_array[i][0]
 
#가장 큰 값 찾기
answer = []
for i in range(1,101):
    value = m_dict[i]-n_dict[i]
    answer.append(value)
if max(answer) >= 0:
    print(max(answer))
else#음수값들만 있는 경우
    print(0)
cs

 

 

728x90

'코딩테스트 > softeer' 카테고리의 다른 글

[python] Level2_바이러스  (0) 2023.01.04
[python] Level2_회의실 예약  (1) 2023.01.03
[python] Level2_비밀 메뉴  (0) 2023.01.03
[python] Level2_지도 자동 구축  (0) 2023.01.01
[python] Level2_8단 변속기  (0) 2023.01.01

댓글