-
[Java] BOJ 1342 행운의 문자열개발자 취업/코딩테스트 준비 2023. 6. 3. 23:59반응형
1342번: 행운의 문자열
민식이와 준영이는 자기 방에서 문자열을 공부하고 있다. 민식이가 말하길 인접해 있는 모든 문자가 같지 않은 문자열을 행운의 문자열이라고 한다고 한다. 준영이는 문자열 S를 분석하기 시작
www.acmicpc.net
정답 코드
- 배열에 알파벳 수 저장
- 지난 알파벳과 비교해서 자른 문자열만 재귀적으로 탐색
import java.io.*; import java.util.*; public class Main { static BufferedReader br; static StringTokenizer st; static String str; static int[] arr; static int N, cnt; public static void main(String[] args) throws IOException { br = new BufferedReader(new InputStreamReader(System.in)); str = br.readLine(); N = str.length(); arr = new int[26]; for (char c : str.toCharArray()) { arr[c - 'a']++; } fun(0, -1); System.out.println(cnt); } private static void fun(int index, int last) { if (index == N) { cnt++; return; } for (int i = 0; i < 26; i++) { if (arr[i] == 0 || last == i) { continue; } arr[i]--; fun(index + 1, i); arr[i]++; } } }
'개발자 취업 > 코딩테스트 준비' 카테고리의 다른 글
[Java] BOJ 16937 두 스티커 (0) 2023.06.06 [Java] BOJ 12873 기념품 (0) 2023.06.04 [Java] BOJ 1326 폴짝폴짝 (0) 2023.06.02 [Java] BOJ 21966 중략 (0) 2023.06.01 [Java] BOJ 14916 거스름돈 (0) 2023.06.01