swexpert 1289. 원재의 메모리 복구하기 (java)
728x90
반응형
flag변수를 둬서 현재 또 바꿔야할 부분이 있는지 검사했습니다.
1. 모든 값이 000 이렇게 0인 상태에서 1로 바꾸는 것이 시작이니 flag를 1로 해서 1이 있는 곳을 검사합니다
2. 해당 위치의 문자를 1로 바꿨다고 가정하고 그 위치의 다음 인덱스부터 이번에는 0이 있는 곳이 있는지 검사합니다.
해당 위치부터 끝까지 숫자가 모두 1로 바뀌었으니 이제 flag변수는 0으로 바꿔줍니다.
3. 이제 더이상 바꿀 문자가 없을 때까지 진행하고 indexOf가 -1이 나오면 없다는 뜻이니 끝내줍니다
import java.util.Scanner;
public class Solution {
static int t;
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
t=sc.nextInt();
for (int tc = 1; tc <=t; tc++) {
String s=sc.next();
int flag=1;
int startIdx=0;
int cnt=0;
while(s.indexOf(String.valueOf(flag),startIdx)!=-1) {
startIdx=s.indexOf(String.valueOf(flag),startIdx)+1;
flag=1-flag;
cnt+=1;
}
System.out.printf("#%d %d\n",tc,cnt);
}
}
}
728x90
반응형
'swexpert' 카테고리의 다른 글
[swexpert] 11387. 몬스터사냥 (java) (0) | 2021.02.03 |
---|---|
[swexpert] 1873. 상호의 배틀 필드 (java) (0) | 2021.02.03 |
[swexpert] 1284. 수도 요금 경쟁 (java, D2) (0) | 2021.01.19 |
[swexpert] 1928. Base 64 Decoder (D2, java) (0) | 2021.01.18 |
[swexpert] 1954. 달팽이 숫자 (java, D2) (0) | 2021.01.18 |
TAGS.