본문 바로가기
python-algorithm

백준 25495 에어팟

by 무적김두칠 2022. 9. 22.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def sol(nums):
    current_phone=nums[0]
    current_battery = 2
    accumulate_cnt= 1
    for i in range(1len(nums)):
 
        if current_battery >= 100:
            current_phone = 0
            current_battery = 0
            accumulate_cnt = 1
        if current_phone == nums[i]:
            accumulate_cnt += 1
            current_battery += 2**accumulate_cnt
        else :
            accumulate_cnt = 1
            current_battery +=2
 
        current_phone = nums[i]
    if current_battery >= 100:
        current_phone = 0
        current_battery = 0
        accumulate_cnt = 1
    print(current_battery)
 
len_nums=int(input())
sol(list(map(int, input().split())))
cs

이 문제는 현재 베터리 소모량, 현재 핸드폰 위치, 그리고 이전까지 연속으로 같은 핸드폰인지 카운트

이 3가지 변수 구현이 중요하구요

예제 설명이 잘돼있는데

여기서
6
2 2 2 2 2 2
가 나오는 경우를 가정해보면
이 경우에는 베터리 소모량이 126이되서 100퍼센트 이상이기때문에 현재 에어팟은  새로운 에어팟으로 교체 되야하므로
베터리 소모량이 0 이 됩니다.

이정도 예외 상황 빼고는 크게 어렵지 않네요

 

반응형

'python-algorithm' 카테고리의 다른 글

백준 25558 내비게이션  (0) 2022.09.26
백준 25576 찾았다 악질  (0) 2022.09.24
leetcode 2413. Smallest Even Multiple  (0) 2022.09.22
leetcode 557. Reverse Words in a String III  (0) 2022.09.22
백준 25625 샤틀버스  (0) 2022.09.22

댓글