[백준 1032번 문제, JAVA] 명령 프롬프트

2023. 3. 8. 13:11·정리 전 게시글/공부 관련

문제

시작 -> 실행 -> cmd를 쳐보자. 검정 화면이 눈에 보인다. 여기서 dir이라고 치면 그 디렉토리에 있는 서브디렉토리와 파일이 모두 나온다. 이때 원하는 파일을 찾으려면 다음과 같이 하면 된다.

dir *.exe라고 치면 확장자가 exe인 파일이 다 나온다. "dir 패턴"과 같이 치면 그 패턴에 맞는 파일만 검색 결과로 나온다. 예를 들어, dir a?b.exe라고 검색하면 파일명의 첫 번째 글자가 a이고, 세 번째 글자가 b이고, 확장자가 exe인 것이 모두 나온다. 이때 두 번째 문자는 아무거나 나와도 된다. 예를 들어, acb.exe, aab.exe, apb.exe가 나온다.

이 문제는 검색 결과가 먼저 주어졌을 때, 패턴으로 뭘 쳐야 그 결과가 나오는지를 출력하는 문제이다. 패턴에는 알파벳과 "." 그리고 "?"만 넣을 수 있다. 가능하면 ?을 적게 써야 한다. 그 디렉토리에는 검색 결과에 나온 파일만 있다고 가정하고, 파일 이름의 길이는 모두 같다.


코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(reader.readLine());
        List<String> inputs = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            inputs.add(reader.readLine());
        }

        List<Integer> differences = new ArrayList<>();
        for (int i = 0; i < inputs.get(0).length(); i++) {
            boolean isDiff = false;
            for (int j = 0; j < inputs.size() - 1; j++) {
                if (inputs.get(j).charAt(i) != inputs.get(j + 1).charAt(i)) {
                    isDiff = true;
                    break;
                }
            }
            if(isDiff) {
                differences.add(i);
            }
        }

        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < inputs.get(0).length(); i++) {
            if (differences.contains(i)) {
                sb.append("?");
            } else {
                sb.append(inputs.get(0).charAt(i));
            }
        }

        System.out.println(sb);
    }
}

해결

생각


참고

링크

 

 

 

저작자표시 (새창열림)

'정리 전 게시글 > 공부 관련' 카테고리의 다른 글

[백준 1019번 문제, JAVA] 책 페이지  (0) 2023.03.12
[백준 1057번 문제, JAVA] 토너먼트  (0) 2023.03.09
프로그래밍 입문 학습 노트 (1)  (0) 2023.03.06
[백준 2477번 문제, JAVA] 참외밭  (0) 2023.03.06
[백준 1000번 문제, JAVA] 네 번째 점  (0) 2023.03.05
'정리 전 게시글/공부 관련' 카테고리의 다른 글
  • [백준 1019번 문제, JAVA] 책 페이지
  • [백준 1057번 문제, JAVA] 토너먼트
  • 프로그래밍 입문 학습 노트 (1)
  • [백준 2477번 문제, JAVA] 참외밭
aptenia
aptenia
공부하면서 배운 것들
  • aptenia
    새벽의 아이디어
    aptenia
  • 전체
    오늘
    어제
    • 분류 전체보기 (279)
      • 논문 (0)
      • Roboracer (2)
      • 개발 아무거나 (1)
      • 일상 아무거나 (2)
      • 정리 전 게시글 (268)
        • 개발 관련 (25)
        • 정보 관련 (19)
        • 공부 관련 (224)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 네이버 블로그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    이것이자바다연습문제
    프로그래머스PCCE
    C언어강좌
    티스토리HTML
    파이썬
    파이어베이스
    이것이자바다
    자바
    티스토리스킨편집
    마크스크립트
    빅데이터공모전
    컨텍스트스위칭
    티스토리반응형2스킨편집
    이것이자바다확인문제
    C언어
    일본규슈공업대학교
    백준
    콜라츠추측
    프로그래머스
    반복하지않는수
    스크롤바CSS
    C++강좌
    마인크래프트강화스크립트
    공개SW개발자대회
    안드로이드
    캡스톤디자인
    마크
    마인크래프트스크립트
    마인크래프트
    c언어초보
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
aptenia
[백준 1032번 문제, JAVA] 명령 프롬프트
상단으로

티스토리툴바