본문 바로가기

공부의 기록/SWEA

[SWEA] 1289. 원재의 메모리 복구하기 - java

728x90

 

1289. 원재의 메모리 복구하기

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV19AcoKI9sCFAZN& 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

풀이 방법

  • 0으로 초기화되어 있는 int orgBit 배열을 만들어 입력받은 String과 비교 
  • 해당 인덱스의 값이 다르다면 인덱스 이후의 배열값을 해당값으로 바꿈
  • 값을 바꿀 때마다 count++

소스 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class 원재의메모리복구하기 {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		int T = Integer.parseInt(br.readLine());
		
		for(int tc = 1; tc <= T; tc++) {
			String org = br.readLine();
			int [] orgBit = new int[org.length()];
			int count =0;
			for(int i =0; i < orgBit.length;i++) {
				if(orgBit[i]==org.charAt(i)-48) {
					continue;
				}
				for(int j = i; j < orgBit.length;j++) {
					orgBit[j] = org.charAt(i)-48;
				}
				count++;
			}
			sb.append("#" + (tc) + " " + count +"\n");
		}
		System.out.println(sb.toString());
	}
}
728x90