-
[BOJ] 16427 고냥이ALGORITHM/BOJ 2023. 6. 26. 20:35
https://www.acmicpc.net/problem/16472
2023-06-26
1234567891011121314151617181920212223242526272829303132333435import java.util.Scanner;public class Main16472 {public static int n;public static int[] arr, str;public static void main(String[] args) {Scanner sc = new Scanner(System.in);n = sc.nextInt();String cat = sc.next();arr = new int[26];str = new int[cat.length()];for(int i = 0; i < cat.length(); i++) str[i] = cat.charAt(i) - 'a';int start = 0;int end = 0;int answer = 0;arr[str[0]]++;int count = 1;while(start <= end) {if(count > n) {arr[str[start]]--;if(arr[str[start]] == 0) count--;start++;} else {answer = Math.max(answer, end-start+1);end++;if(end == str.length) break;if(arr[str[end]] == 0) count++;arr[str[end]]++;}}System.out.println(answer);}}cs #문제풀이
투 포인터
1. 알파벳 종류는 count로 체크
2. count > n 크면 start++
3. count <= n 면 길이 max 체크하고 end++
그리고 end == 총 문자열 길이가 되면 종료
'ALGORITHM > BOJ' 카테고리의 다른 글
[BOJ] 21921 블로그 (0) 2023.06.27 [BOJ] 1620 나는야 포켓몬 마스터 이다솜 (0) 2023.06.21 [BOJ] 5212 지구 온난화 (0) 2023.06.18 [BOJ] 18110 solved.ac (0) 2023.06.13 [BOJ] 14940 쉬운 최단거리 (0) 2023.06.06