[백준] 1032 | 명령 프롬프트(java)

Yuri Lee·2023년 10월 18일
0

코딩테스트

목록 보기
2/7

코드가 매우 길고 반복문과 조건문이 복잡하지만... 그래도 두 번째 시도만에 통과한 나의 코드... 다른 사람들이 올려둔 코드를 보니 꽤나 간단하더라...ㅋㅋㅋㅋㅋ 아직 몇 번 안해본 코테지만 다른 정답을 보면 "와 난 왜 이 생각을 못했지?" 싶음. 아직 컴퓨터적 사고력이 부족하다는걸 매우 느낀다.

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

public class Main {
	
	static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	
	public static void main(String[] args) throws IOException {
		int num = Integer.parseInt(br.readLine());
		
		if(num>1){
			general(num);
		}else
			one_file();
	
	}
	
	//파일갯수 한개
	public static void one_file() throws IOException{
		String file_name = br.readLine();
		System.out.println(file_name);
	}
	
	//파일갯수 여러개
	public static void	general(int num) throws IOException{
		String[][] list ;
		int len =0;
		String[] file_name = null ;
		
		list = new String[num][];
		
		for(int i=0; i<num; i++){
			String tmp = br.readLine();
			list[i] = tmp.split("");
		}
		
		len = list[0].length;
		
		//파일명 두자리 이상
		if(len>1){
			file_name = new String[len];
			
			for(int i=0; i<num-1; i++){
				for(int j=0; j<len;j++){
					if(!list[i][j].equals(list[i+1][j])){
						file_name[j]="?";
						continue;
					}else{ 
						if(file_name[j]!=null && file_name[j].equals("?")){
							file_name[j]="?";
						}else file_name[j]=list[i][j];
					}
				}
			}
			
			for(int j=0; j<file_name.length;j++){
				System.out.print(file_name[j]);
			}
			
		//파일명 한자리
		}else{   
			for(int i=0; i<list.length-1; i++){
				if(list[i][0].equals(list[i+1][0])){
					continue;
				}else 
					list[0][0] = "?";
					break;
			}
			
			System.out.println(list[0][0]);
		}
	}

}

하지만 코드가 더러워도 작동만 되면 된다지...? ㅎ...
백준 내 코드 해석하느라 어렵겠지만 출력만 된다면 '정답입니다'를 내놔라~.~

profile
유리

0개의 댓글