https://www.acmicpc.net/problem/1343
1343번: 폴리오미노
첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다.
www.acmicpc.net
문제
코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
str = str.replaceAll("XXXX","AAAA");
str = str.replaceAll("XX","BB");
if(str.contains("X"))
System.out.println(-1);
else
System.out.println(str);
}
}
해결방법
처음에 replaceAll()를 쓰지 않고 split()를 사용해 "[.]"로 나눠 코드를 구현해봤는데 이상한 곳으로 빠져서 1시간 정도를 날렸다. 그래서 다시 생각해보았는데 replaceAll()가 떠올랐고 replaceAll()를 사용하니 간단하게 해결되었다.
String 객체의 메서드를 다시 정리해봐야함을 크게 느꼈고 너무 허무했다. split()의 사용법도 제대로 모르는 것 같다.
"aa-a--". split("-"). length가 4인지 알았다. 답은 2이다. String 객체 메서드를 따로 정리하자.
System.out.println("aa-a--".split("-").length);
System.out.println("--aa-a".split("-").length);
#출력
#2
#4
'알고리즘 > 백준' 카테고리의 다른 글
11651번 : 좌표 정렬하기 2 (0) | 2022.07.06 |
---|---|
2875번 : 대회 or 인턴 (0) | 2022.07.06 |
2847번 : 게임을 만든 동준이 (0) | 2022.06.30 |
1449번 : 수리공 항승 (0) | 2022.06.29 |
1543번 : 문서 검색 (0) | 2022.06.29 |