본문 바로가기

TIL(Today I Learned)

99클럽 코테 스터디 1일차 TIL + [백준] 1032 : 명령 프롬프트

반응형

오늘의 학습 키워드

  • 문자열
  • 구현
  • 비교

 

문제 탐색하기

문제

 

문제 풀이 설계하기

문제를 보면 주어지는 파일 이름의 길이는 일정하고

파일이름의 한글자 한글자를 비교해서 특정 위치의 글자가 서로 다르다면 '?'로 치환해서 보여주면 되는 문제입니다. 

 

코드

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

public class Main {

    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int T = Integer.parseInt(br.readLine());

        ArrayList<char[]> list = new ArrayList<>();

        for(int i=0; i<T; i++){
            String sentence = br.readLine();
            char[] chs = sentence.toCharArray();
            list.add(chs);
        }

        StringBuilder sb = new StringBuilder();
        for(int i=0; i<list.get(0).length; i++){
            sb.append(list.get(0)[i]);
            for(int j=0; j<list.size()-1; j++){
                if(list.get(j)[i] != list.get(j+1)[i]){
                    sb.setCharAt(i, '?');
                    continue;
                }
            }
        }

        System.out.println(sb.toString());
    }
}

 

오늘의 회고

StringBuilder를 사용할때 .append만 사용했었는데 특정 인덱스를 변경하고 싶을 때 .setCharAt(int index, char ch) 를 사용하면 가능하다는 것을 알 수 있었습니다.
반응형