응애개발자
article thumbnail
728x90

1. 문제

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

 

 

2. 코드

<java />
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { private static BufferedReader br; private static StringTokenizer st; private static StringBuilder sb; private static int N; private static int[][] arr; private static int max = Integer.MIN_VALUE; //입력 public static void input() throws Exception{ br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); arr = new int[N+1][3]; for(int i = 1 ; i <= N ; i++){ String line = br.readLine(); char alphabet = line.charAt(0); if(alphabet == 'P'){ arr[i][0]++; }else if(alphabet =='H'){ arr[i][1]++; }else{ arr[i][2]++; } arr[i][0] +=arr[i-1][0]; arr[i][1] +=arr[i-1][1]; arr[i][2] +=arr[i-1][2]; } } //과정 public static void process(){ max = Math.max(arr[N][0],Math.max(arr[N][1],arr[N][2])); for(int i = 1 ; i <= N ; i++){ int l = Math.max(arr[i][0],Math.max(arr[i][1],arr[i][2])); int r = Math.max(arr[N][0]-arr[i][0],Math.max(arr[N][1]-arr[i][1], arr[N][2]-arr[i][2])); if(l+r>max) max = l+r; } System.out.println(max); } public static void main(String[] args) throws Exception{ input(); process(); } }
profile

응애개발자

@Eungae-D

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!