원재의 메모리 복구하기 (D3)
문제링크
- 초기화 상태의 비트에서 주어진 비트상태가 되기 위해서 최소 몇번을 수정해야 하는지 계산하는 문제
- 해당 인덱스를 0이나 1 비트로 선택하면 그 뒤로 이어지는 모든 인덱스의 값도 덮어씌워진다
Solution
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
String memory;
char before;
int ans;
for (int t = 1; t <= T; t++) {
memory = sc.next();
before = '0';
ans = 0;
for (int i = 0; i < memory.length(); i++) {
if (before != memory.charAt(i)) {
before = memory.charAt(i);
ans++;
}
}
System.out.printf("#%d %d\n", t, ans);
}
}
}