공부하기/백준

[Java] 백준 풀기 17249 - 태보태보 총난타

XEV 2023. 12. 18. 23:29

자바 백준 17249번

브론즈 2

https://www.acmicpc.net/problem/17249

 

17249번: 태보태보 총난타

태보(TaeBo)란, 태권도와 복싱을 조합한 운동이다. 복싱의 공격 기술로는 민첩하게 앞주먹을 뻗으면서 가볍게 치는 잽, 옆으로 치는 펀치인 훅이 있다. 선풍적인 인기에 태보 강의를 들으며 태보

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 구현, 문자열

 

 

 

 

 

코드 보기

import java.util.Scanner;

public class Main {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        String input = sc.next();  // 사용자로부터 문자열 입력 받기
        
        int[] counts = countHandPrints(input);  // countHandPrints 함수 호출하여 잔상 수 계산
        
        System.out.print(counts[0] + " " + counts[1]);  // 결과 출력
    }
    
    // 왼손의 잔상 수와 오른손의 잔상 수를 계산하는 함수
    public static int[] countHandPrints(String input) {
        int leftCount = 0;  // 왼손의 잔상 수 초기화
        int rightCount = 0;  // 오른손의 잔상 수 초기화
        boolean isLeft = true;  // 왼손 여부를 나타내는 플래그 초기화
        
        for (char c : input.toCharArray()) {  // 문자열을 한 글자씩 반복하여 처리
            if (c == '0') {  // 문자가 '0'인 경우
                isLeft = false;  // 왼손 플래그를 false로 변경
                continue;  // 다음 문자 처리로 넘어감
            }
            
            if (c == '@') {  // 문자가 '@'인 경우
                if (isLeft) {  // 왼손의 잔상인 경우
                    leftCount++;  // 왼손의 잔상 수 증가
                } else {  // 오른손의 잔상인 경우
                    rightCount++;  // 오른손의 잔상 수 증가
                }
            }
        }
        
        return new int[] { leftCount, rightCount };  // 왼손과 오른손의 잔상 수 배열로 반환
    }
    
}



/*

@===@==@=@==(^0^)==@=@===@

4 3

*/