민듀키티

[240519] 코딩테스트 문제풀이 본문

Coding Test/Python

[240519] 코딩테스트 문제풀이

민듀키티 2024. 5. 20. 11:35

 

1. 알람시계

https://www.acmicpc.net/problem/2884

n,m = map(int, input().split())
time = n*60 + m
turn_time = time - 45

hour = turn_time // 60
if hour < 0 :
    hour += 24


print(hour, turn_time %60)

2. 개미

https://www.acmicpc.net/problem/3048

n,m = map(int, input().split())
A = list(input())
B = list(input())
t = int(input())
ants = A[::-1] + B

for _ in range(t) : # 반복해야하는 횟수
    for i in range( len(ants) - 1 ) :
        if (ants[i] in A) and (ants[i+1] in B) :
            ants[i], ants[i+1] = ants[i+1], ants[i]
            if ants[i+1] in A[0] :  # 첫번째 값을 넘으면 안됨
                break

print(''.join(ants))

 


3. 도로와 신호등

  • 실버 4를 몇 분 잡고있었는지 모르겟네 ~~ 
n,m = map(int, input().split())

A = list()
for i in range(n) :
    A.append(list(map(int, input().split())))

time = 0
road = 0

for i in range(n) :
    a,b,c = A[i][0], A[i][1], A[i][2]

    while road < a :
        time += 1
        road += 1

    if road == a :
        time_tf = time % (b+c)
        while time_tf < b :
            time += 1
            time_tf = time % (b + c)
        time += 1
        road += 1

time += (m-road)
print(time)