View

최민수·2023년 4월 4일
0

알고리즘

목록 보기
44/94
T = 10
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1, T + 1):
    n = int(input())
    bds = list(map(int, input().split()))
    answer = 0

    for idx, item in enumerate(bds):
        if idx < 2 or idx > n-3:
            continue

        maxHeight = max(bds[idx-2], bds[idx-1], bds[idx+1], bds[idx+2])
        if maxHeight < bds[idx]:
            answer += bds[idx] - maxHeight

    print("#" + str(test_case), answer)

삼성 코테 형식을 익히기 위해 SWEA 사이트에서 문제를 풀기 시작했다.

역시 적응이 좀 필요할 것 같다.

input.txt로 입력 받아오고 제출할 땐 또 주석처리 해야 하는 것과, 모든 테스트 케이스가 하나의 코드의 반복문으로 실행된다는 점(프로그래머스는 테스트 케이스 별로 하나의 함수가 여러 번 실행됨), 파이참 ide로 작성 후 복붙해서 제출해야 한다는 점 등 자잘하게 신경써야 할 게 조금 있다.

이 문제의 경우는 매우 쉬웠고, 삼성 기출 대비는 난이도 D4~D6 수준 정도라고 하니 앞으로는 그렇게 풀어야 겠다. (위 문제는 D3)


문제 출처: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh

profile
CS, 개발 공부기록 🌱

0개의 댓글