๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm

[๋ฐฑ์ค€] 9933๋ฒˆ: ๋ฏผ๊ท ์ด์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ(๋ฌธ์ž์—ด)

by ์ฃผ๋ฐœ2 2020. 3. 27.
๋ฐ˜์‘ํ˜•

https://www.acmicpc.net/problem/9933

 

9933๋ฒˆ: ๋ฏผ๊ท ์ด์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ

๋ฌธ์ œ ์ฐฝ์˜์ด๋Š” ๋ฏผ๊ท ์ด์˜ ์ปดํ“จํ„ฐ๋ฅผ ํ•ดํ‚นํ•ด ํ…์ŠคํŠธ ํŒŒ์ผ ํ•˜๋‚˜๋ฅผ ์ž์‹ ์˜ ๋ฉ”์ผ๋กœ ์ „์†กํ–ˆ๋‹ค. ํŒŒ์ผ์—๋Š” ๋‹จ์–ด๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ ํ˜€์žˆ์—ˆ๊ณ , ์ด ์ค‘ ํ•˜๋‚˜๋Š” ๋ฏผ๊ท ์ด๊ฐ€ ์˜จ๋ผ์ธ ์ €์ง€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ์ด๋‹ค. ํŒŒ์ผ์„ ์‚ดํŽด๋ณด๋˜ ์ฐฝ์˜์ด๋Š” ๋ชจ๋“  ๋‹จ์–ด์˜ ๊ธธ์ด๊ฐ€ ํ™€์ˆ˜๋ผ๋Š” ์‚ฌ์‹ค์„ ์•Œ์•„๋‚ด์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ธ์  ๊ฐ€ ๋ฏผ๊ท ์ด๊ฐ€ ์ด ๋ชฉ๋ก์— ๋Œ€ํ•ด์„œ ์–˜๊ธฐํ–ˆ๋˜ ๊ฒƒ์„ ์ƒ๊ฐํ•ด๋ƒˆ๋‹ค. ๋ฏผ๊ท ์ด์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ๋ชฉ๋ก์— ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋’ค์ง‘์–ด์„œ ์“ด ๋ฌธ์ž์—ด๋„ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฏผ๊ท ์ด์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€

www.acmicpc.net

์ฝ”๋“œ

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		int N = scan.nextInt();
		String[] str = new String[N];
		for(int i=0; i<N; i++)
			str[i] = scan.next();

		for(int i=0; i<str.length-1; i++) {
			for(int j=0; j<str.length; j++) {
				StringBuilder sb2 = new StringBuilder(str[j]);
				// ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด๊ณผ ๋’ค์ง‘์–ด์„œ ์“ด ๋ฌธ์ž์—ด์ด ๊ฐ™์€๊ฒฝ์šฐ
				if(str[i].equals(sb2.reverse().toString())) {
					
					// ๋ฌธ์ž์—ด ๊ธธ์ด + " " + ๋ฌธ์ž์—ด์˜ ๊ฐ€์šด๋ฐ ๊ธ€์ž ์ถœ๋ ฅ
 					System.out.print(str[i].length() + " " + str[i].charAt(str[i].length()/2));
					return;
				}
			}
		}
		
		scan.close();
	}

}

ํ’€์ด

๋ชฉ๋ก์—์„œ ๋ฌธ์ž์—ด์ค‘ ๋’ค์ง‘ํžŒ ๋ฌธ์ž์—ด๋„ ์žˆ๋Š”๊ฒฝ์šฐ ๋น„๋ฐ€๋ฒˆํ˜ธ์ด๋‹ค.

๋’ค์ง‘ํžŒ ๋ฌธ์ž์—ด์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด StringBuilder์˜ reverse() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.(๋ฌธ์ž์—ด ๋’ค์ง‘์Œ)

* level ๊ณผ ๊ฐ™์ด ์ž๊ธฐ ์ž์‹ ์ด ๋’ค์ง‘ํ˜€์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์–ด์„œ, ์ž๊ธฐ์ž์‹ ๋„ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•œ๋‹ค.

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€