코깽이의 코딩일기

SWEA 6730. 장애물 경주 난이도 본문

PS/SWEA

SWEA 6730. 장애물 경주 난이도

코깽이 2023. 11. 10. 00:18
반응형

Link

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=1&problemLevel=2&problemLevel=3&contestProbId=AWefy5x65PoDFAUh&categoryId=AWefy5x65PoDFAUh&categoryType=CODE&problemTitle=&orderBy=PASS_RATE&selectCodeLang=ALL&select-1=3&pageSize=10&pageIndex=2

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


문제


 

내가 제출한 코드

# 테스트 케이스
t = int(input())

for i in range(1, t+1):
    # 입력될 블럭 수
    count = int(input())
    # 블럭 데이터 입력 받기
    data = list(map(int, input().split()))
    # 새로운 값이 입력되면 사용될 변수 초기화
    up = 0
    down = 0
    check = 0
    # 데이터 순회 시작
    for j in data:
        # 처음 시작을 알림
        if check == 0:
            check = j
        # 올라가야하는 경우
        if check > j:
            if check - j > down:
                down = check - j
        # 내려가야하는 경우
        elif check < j:
            if j - check > up:
                up = j - check
        # 동일한 경우
        elif check == j:
            pass
        # 체크용 변수 값 변경
        check = j

    print("#{} {} {}".format(i, up, down))

 

생각해낸 로직

1. 리스트에 블럭에 대한 값을 저장

2. check변수를 이용하여 이전 블럭에 대한 데이터 값 저장

3. 현재 블럭과 check 변수에 저장된 값을 비교하여 계산


 

반응형