https://www.acmicpc.net/problem/1343
코드설명
그리디문제입니다.
문제의 내용을 그대로 구현하면됩니다.
유의해야할점은 검사 중에 map.length - 1 보다는 작아야 arrayoutofindexException이 발생하지 않습니다.
추가로,
문자열 함수를 사용하여 replaceAll("XXXX","AAAA"); 이런식으로 진행해도 됩니다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static int N;
public static char[] map;
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
map = st.nextToken().toCharArray();
for(int i=0;i<map.length;i++) {
if( i+3 <= map.length -1 ) {
if(map[i] == 'X' && map[i+1] == 'X' && map[i+2] == 'X' && map[i+3] == 'X') {
map[i] = 'A';
map[i+1] = 'A';
map[i+2] = 'A';
map[i+3] = 'A';
}
}
if( i + 1 <= map.length - 1) {
if(map[i] == 'X' && map[i+1] == 'X') {
map[i] = 'B';
map[i+1] = 'B';
}
}
}
for(char value:map) {
if(value == 'X') {
System.out.println("-1");
return;
}
}
for(char value:map) {
System.out.print(value);
}
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1758 알바생 강호 - 그리디 + 정렬 JAVA (0) | 2023.07.20 |
---|---|
[백준] 2217 로프 - 수학 + 그리디 + 정렬 JAVA (0) | 2023.07.20 |
[백준] 14916 거스름돈 - DP JAVA (0) | 2023.07.20 |
[백준] 1789 수들의 합 - 수학 JAVA (0) | 2023.07.19 |
[백준] 14391 종이 조각 - 완전탐색(BruteForce) + DFS(깊이우선탐색) JAVA (0) | 2023.07.18 |