코딍코딍
코딩기록
코딍코딍
전체 방문자
오늘
어제
  • 분류 전체보기 (271)
    • 개발 (2)
    • Java (1)
    • 스프링 (28)
    • JPA (11)
    • Git (3)
    • 알고리즘 (160)
      • 백준 (132)
      • 프로그래머스 (8)
      • SWEA (20)
    • 토이 프로젝트 (14)
      • 간단한 Springboot CRUD (1)
      • 게시판 프로젝트 (13)
    • 알고리즘 개념정리 (8)
    • 오류 해결 (13)
    • 보류 (0)
    • AWS (5)
    • 트러블 슈팅 (0)
    • 회고 (3)
    • CS (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

최근 글

티스토리

hELLO · Designed By 정상우.
코딍코딍

코딩기록

1343번 : 폴리오미노
알고리즘/백준

1343번 : 폴리오미노

2022. 7. 4. 22:36

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
    '알고리즘/백준' 카테고리의 다른 글
    • 11651번 : 좌표 정렬하기 2
    • 2875번 : 대회 or 인턴
    • 2847번 : 게임을 만든 동준이
    • 1449번 : 수리공 항승
    코딍코딍
    코딍코딍
    ㅎ2

    티스토리툴바