๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
TIL๐Ÿ”ฅ/์ฝ”๋”ฉํ…Œ์ŠคํŠธ

[ํ•ญํ•ด99ํด๋Ÿฝ] Java ๋น„๊ธฐ๋„ˆ_Day 1 ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ, ํŒฐ๋ฆฐ๋“œ๋กฌ

by hk713 2025. 3. 31.

์˜ค๋Š˜์˜ ๋ฌธ์ œ >> https://www.acmicpc.net/problem/1032

 

ํ•ญ์ƒ ์ฝ”ํ…Œ๋Š” Python์œผ๋กœ ํ’€์–ด ์™”๋Š”๋ฐ, ์ด๋ฒˆ์—๋Š” Java๋กœ ๋„์ „ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹คโค๏ธโ€๐Ÿ”ฅ

๊ทผ๋ฐ ์•„๋ฌด ์ค€๋น„์—†์ด ๋ฌธ์ œ๋ฅผ ํ’€๋ ค๊ณ  ๋ณด๋‹ˆ, ๊ธฐ๋ณธ ๋ฌธ๋ฒ•์กฐ์ฐจ ๊ธฐ์–ต์ด ์•ˆ๋‚˜์„œ ๋‹นํ™ฉ์Šค๋Ÿฌ์› ๋‹ค.

๊ทธ๋ž˜์„œ ์ผ๋‹จ python์œผ๋กœ ํ’€๊ณ , ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•œ ๋กœ์ง์„ java๋ฌธ๋ฒ•์œผ๋กœ ๊ณ ์น˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค.

 

[ ์ƒ๊ฐ ํ๋ฆ„ ] 

๋ชจ๋“  ํŒŒ์ผ๋ช…์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™์œผ๋‹ˆ,

์ฒซ๋ฒˆ์งธ ํŒŒ์ผ๋ช…์„ ๊ธฐ์ค€์œผ๋กœ ์ฒซ๋ฒˆ์งธ ๊ธ€์ž๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๊ธ€์ž๊นŒ์ง€ for๋ฌธ์œผ๋กœ ๋Œ๋ฉด์„œ, 

์ด์ค‘ for๋ฌธ์œผ๋กœ ์ž…๋ ฅ๋œ ๋ชจ๋“  ํŒŒ์ผ๋“ค์˜ ๋™์ผ ์ž๋ฆฌ์˜ ๋ฌธ์ž๋ฅผ ๋น„๊ตํ•ด์•ผ๊ฒ ๋‹ค ์ƒ๊ฐํ–ˆ๋‹ค.

 

[ Python ]

N = int(input())
file_lst = []

for _ in range(N):
    file_name = input()
    file_lst.append(file_name)

length = len(file_lst[0])
answer = [0]*length

for i, char in enumerate(file_lst[0]):
    for item in file_lst:
        if item[i] == char:
            answer[i] = char
        else:
            answer[i] = "?"
            break

print(''.join(answer))

 

[ Java ]

import java.util.*;

public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        sc.nextLine();
        
        List<String> fileNames = new ArrayList<>();

        for(int i=0; i<N; i++){
            fileNames.add(sc.nextLine());
        }

        sc.close();

        int nameLength = fileNames.get(0).length();
        char[] answer = new char[nameLength];

        for (int i=0; i<nameLength; i++){
            char trgtChar = fileNames.get(0).charAt(i);
            boolean isSame = true;

            for(String file: fileNames){
                if (file.charAt(i) != trgtChar){
                    isSame = false;
                    break;
                }
            }
            answer[i] = isSame ? trgtChar: '?';
        }
        System.out.println(new String(answer));
    }
}

 


์˜ค๋Š˜์˜ ์ถ”๊ฐ€ ๋ฌธ์ œ >> https://www.acmicpc.net/problem/10988

 

[ ์ƒ๊ฐ ํ๋ฆ„ ] 

์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด ๊ธธ์ด๋ฅผ ๊ตฌํ•ด ์ ˆ๋ฐ˜๊นŒ์ง€์˜ ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์•ž,๋’ค๋กœ ๋น„๊ตํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์•˜๋‹ค.

 

[ Java ]

import java.util.*;

public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String trgtWord = sc.nextLine();
        sc.close();

        int answer = 1;
        char[] wordArray = trgtWord.toCharArray();

        int maxIdx = trgtWord.length();
        for (int i=0; i<maxIdx/2; i++){
            if (wordArray[i] != wordArray[(maxIdx-(i+1))]){
                answer = 0;
                break;
            }
        }
        System.out.println(answer);
    }
}

 

[ ๋ฌธ์ œํ’€์ด ]

๋ฐฉ๋ฒ• 1. ๋ฌธ์ž์—ด์„ ์—ญ์ˆœ์œผ๋กœ ๊ณ ์ณ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•

import java.util.Scanner;

public class Main{
	public static void main(String[] args){
    	Scanner sc = new Scanner(System.in); //๋ฌธ์ž์—ด ๋ฐ›์•„์˜ค๊ธฐ
        
        String word = sc.nextLine(); //์ž…๋ ฅ ๋ฌธ์ž์—ด
        String reversedWord = new StringBuilder(word).reverse().toString(); //์—ญ์ˆœ
        
        //์ฐธ๊ณ  - if(word == resversedWord){}; ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ฌธ์ž์—ด ์ฃผ์†Œ ๊ฐ’์œผ๋กœ ๋น„๊ตํ•˜๊ฒŒ ๋จ
        if(word.equals(reversedWord)){ //๋‹ด๊ธด ๊ฐ’์„ ๋น„๊ตํ•จ!
        	System.out.println(1);
           } else{
           	System.out.println(0);
            }
       }
}

 

๋ฐฉ๋ฒ• 2. ๋ฌธ์ž์—ด ์ธ๋ฑ์Šค๋กœ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•!

import java.util.Scanner;

public class Main{
	public static void main(String[] args){
    	Scanner sc = new Scanner(System.in);
        String word = sc.nextLine(); //์ž…๋ ฅ ๋ฌธ์ž์—ด
        
        int left = 0;
        int right = word.length()-1;
        
        while(left<right){
        	if(word.charAt(left) != word.charAt(right)){
            	System.out.println(0);
                return;
               }
            
            left++;
            right--;
        }
    }
}

>> ๋‚ด ์ƒ๊ฐํ๋ฆ„์ด๋ž‘ ๋น„์Šทํ•œ๋ฐ ํ›จ์”ฌ ๋” ๊น”๋”ํ•œ ์ฝ”๋“œ๋‹ค..!

charAt์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ž์—ด์„ ๋ฐฐ์—ด๋กœ ๋ฐ”๊พธ์ง€ ์•Š์•„๋„ index๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑธ ๋ฐฐ์› ๋‹คใ…Žใ…Ž

+์ฝ”ํ…Œ์—์„œ๋Š”, scanner.close()๊ฐ€ ํฐ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์•„์„œ ์ƒ๋žตํ•ด๋„ ๋œ๋‹ค๊ณ  ํ•œ๋‹ค~

๋Œ“๊ธ€