Home B2810. 컵홀더
Post
Cancel

B2810. 컵홀더

문제

image

제출 코드

image

  • String의 메소드를 이용하여 해결
  • 컵홀더의 자리까지 고려한 배열 생성 후, 왼쪽에서부터 컵을 채운다 생각하고 count
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package bronze;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class B2810_cupHolder {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		int N = Integer.parseInt(br.readLine());

		String s = br.readLine();

		StringBuilder sb = new StringBuilder(" ");

		for(int n=0; n<N; n++) {				// 컵홀더 자리까지 추가한 배열 생성
			sb.append(s.charAt(n));
			if(s.charAt(n)=='L' && s.charAt(n+1)=='L') {
				sb.append(s.charAt(++n));
			}
			sb.append(" ");
		}

		int cnt = 0;
		char[] seat = sb.toString().toCharArray();

		for(int i=0, len=seat.length; i<len; i++) {	// 컵 채워보기
			if(seat[i]=='S' || seat[i]=='L' ){

				if(seat[i-1]==' ') seat[i-1] = 'X';
				else if(seat[i+1]==' ') seat[i+1] = 'X';
				else continue;
				cnt++;
			}
		}

		System.out.println(cnt);
	}

}
This post is licensed under CC BY 4.0 by the author.