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

사과 담기 게임

by ornni 2024. 9. 20.
728x90
반응형

첫번째 코드

 

m의 시작점과 끝점을 이용하기로 했다. 윈도우? 투포인터? 같은 느낌으로!

현대 떨어지는 곳이 m의 끝점보다 크다면 해당 차이만큼 움직이고!

현재 떨어지는 곳이 m의 시작점보다 작다면 해당 차이만큼 움직이고!

사이에 있다면 상관없음! (else 이후에 붙일 코드 없음!)

총 움직인 개수 더하기!

 

import sys
input = sys.stdin.readline

n, m = map(int, input().split())
j = int(input())
apple = []

for _ in range(j):
    apple.append(int(input()))

m_start = 1
m_end = 1 + (m-1)
count = 0

for i in apple:
    if i > m_end:
        diff = i - m_end
        m_end = i
        m_start = m_start + diff
        count += diff
    elif i < m_start:
        diff = m_start - i
        m_start = i
        m_end = m_end - diff
        count += diff

print(count)

 

통과!


링크

https://github.com/ornni/programmers/tree/main/%EB%B0%B1%EC%A4%80/Silver/2828.%E2%80%85%EC%82%AC%EA%B3%BC%E2%80%85%EB%8B%B4%EA%B8%B0%E2%80%85%EA%B2%8C%EC%9E%84

 

programmers/백준/Silver/2828. 사과 담기 게임 at main · ornni/programmers

repository for recording Programmers Algorithm problem solving - ornni/programmers

github.com

 

반응형

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

호텔 방 번호  (1) 2024.09.23
3의 배수  (0) 2024.09.16
타일 채우기 4  (0) 2024.06.23
나이 계산하기  (0) 2024.06.16
블랙잭  (0) 2024.05.31