백준

백준 2810 컵홀더(Java)

Park DJ 2023. 1. 17. 16:48

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

 

2810번: 컵홀더

첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다.

www.acmicpc.net


 

해석 및 팁

 


 

이문제에서 컵홀더는 일반좌석일때는 1개 커플석일때는 2자리당 1개씩 주어지므로 커플좌석을 1개당 0.5개로 계산하면 쉽게 풀수있습니다. 또한 일반석으로 시작하면 2개를 커플좌석인경우에는 1.5개가 주어집니다. 반복문을 통해 다 더한후 처음에 주어진 수랑 비교해서 작은 값을 출력하면 됩니다.

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int n = Integer.parseInt(sc.nextLine());
    String str = sc.nextLine();
    double count = 0;
    
    if(str.charAt(0) == 'S') count += 2;                //시작이 S이면 2를 더한다
    else if(str.charAt(0) == 'L') count += 1.5;         //시작이 L이면 1.5를 더한다

    for(int i = 1; i < str.length(); i++) {
      if(str.charAt(i) == 'S') count += 1;               //중간값이 S 이면 컵홀더는 1개이다
      if(str.charAt(i) == 'L') count += 0.5;             //커플섟은 2개마다 1개이다
    }
    System.out.println(Math.min((int)count, n));         //비교해서 더 작은값 출력
  }
}