[Python] SWEA 1289 원재의 메모리 복구하기

·2024년 10월 2일

알고리즘 스터디

목록 보기
17/26

원재의 메모리 복구하기

문제 분석

  • 메모리의 원래값이 주어짐
  • 메모리는 0과1로 이루어짐
  • 메모리 숫자 하나를 고치면 그 뒤 모든 숫자도 고친 숫자로 변함
    ex) 0100 ->(3번째를 1로 바꿈) 0111
  • 메모리를 복구하기 위한 최소 수정 횟수를 구하기

입력

  • T : 테스트 케이스 수
  • 둘째줄 : 메모리의 원래값(1 <= len(원래 메모리) <= 50)

출력

  • #<테스트 케이스 번호> <최소 수정 횟수>
  • 원래 값으로 복구하기 위한 최소 수정 횟수

def solution(N, A):
    count = 0
    for i in range(len(N)):
        if N[i] == A[i]:
            continue
        else:
            for j in range(i, len(N)):
                A[j] = N[i]
            count += 1
    return count

T = int(input())
for test_case in range(1, T + 1):
    N = list(map(int, input().rstrip()))
    A = [0 for _ in range(len(N))]
    result = solution(N, A)
    print(f"#{test_case} {result}")
  • 처음에 틀려서 다시 제출했다 그런데 사실
    print(f"#{test_case} {result}" 부분에서 #과 { 사이에 틀렸더니 또 틀려서 당황했다...
  • 처음 풀이 프린트 부분 수정하고 다시 넣었는데 틀렸다 ㅎㅎ 어차피 틀렸구나 다행인건가...
profile
꾸준히 공부하기

0개의 댓글