문제
설명
문자열을 차례대로 하나씩 비교해 보면서, 값이 다르면 바꾼 횟수를 하나 추가하는 방식으로 풀었습니다.
charAt()과 startsWith()함수를 적절히 활용하는 것이 포인트입니다!
코드
import java.util.Scanner;
public class SWEA1289_bitChange {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt(); //test case 수
for(int tc=1; tc<=T; tc++) {
String s = sc.next(); // 한 줄 입력받음. 원래 상태
int cnt =0; //바꾼 횟수 저장할 변수
//시작이 1인 경우 -> 처음부터 바뀜
if(s.startsWith("1")) {
cnt++;
}
//문자열을 char배열로 만들지 않고, 바로 chatAt으로 접근!
for(int j=0; j<s.length()-1; j++) {
if(s.charAt(j)!= s.charAt(j+1))
cnt++;
}
System.out.println("#" + tc + " " + cnt);
}
}
}
'알고리즘 문제풀이 > SWEA(SW Expert Academy)' 카테고리의 다른 글
[SWEA][JAVA]2805 - 농작물 수확하기 (0) | 2021.08.19 |
---|---|
[SWEA][JAVA]2001 - 파리 퇴치 (0) | 2021.08.18 |
[SWEA][JAVA]5215 - 햄버거 다이어트 (0) | 2021.08.13 |
[SWEA][JAVA]1204 - 최빈수 구하기 (0) | 2021.08.10 |
[SWEA]{JAVA]9229 - 한빈이와 Spot Mart (0) | 2021.08.09 |