99클럽 코테 스터디 4기 16일차 TIL - 백준: 게임을 만든 동준이(2847) Swift & Python

레일리·2일 전
0
post-thumbnail

ℹ️ 문제 정보

플랫폼번호제목유형난이도언어
백준2847게임을 만든 동준이그리디실버4Swift, Python

🚀 나의 접근 방법

결국 레벨별로 점수가 1씩 커지게 하면 된다. 다만 그러기 위해선 마지막 레벨의 점수가 가장 커야 하기 때문에 마지막 레벨 바로 앞의 점수부터 첫 번째 레벨까지 순차적으로 점수를 조정하면 된다.

위와 같은 -1 동작의 횟수를 세어주면 문제를 해결할 수 있다.

✍️ 나의 코드

Swift

let N = Int(readLine()!)!

var score: [Int] = []
for _ in 0..<N {
    score.append(Int(readLine()!)!)
}

var count = 0
for i in stride(from: N-2, through: 0, by: -1) {
    while score[i] >= score[i+1] {
        score[i] -= 1
        count += 1
    }
}

print(count)

Python

N = int(input())

score = []
for _ in range(N):
    score.append(int(input()))

count = 0
for i in range(N-2, -1, -1):
    while score[i] >= score[i+1]:
        score[i] -= 1
        count += 1

print(count)

🤔

profile
나야, 개발자
post-custom-banner

0개의 댓글