백준
백준 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)); //비교해서 더 작은값 출력
}
}