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

[๋ฐฑ์ค€] 10798๋ฒˆ: ์„ธ๋กœ์ฝ๊ธฐ

by ์ฃผ๋ฐœ2 2020. 1. 18.
๋ฐ˜์‘ํ˜•

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

 

10798๋ฒˆ: ์„ธ๋กœ์ฝ๊ธฐ

์ด ๋‹ค์„ฏ์ค„์˜ ์ž…๋ ฅ์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ์ค„์—๋Š” ์ตœ์†Œ 1๊ฐœ, ์ตœ๋Œ€ 15๊ฐœ์˜ ๊ธ€์ž๋“ค์ด ๋นˆ์นธ ์—†์ด ์—ฐ์†์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ๊ธ€์ž๋Š” ์˜์–ด ๋Œ€๋ฌธ์ž ‘A’๋ถ€ํ„ฐ ‘Z’, ์˜์–ด ์†Œ๋ฌธ์ž ‘a’๋ถ€ํ„ฐ ‘z’, ์ˆซ์ž ‘0’๋ถ€ํ„ฐ ‘9’ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๊ฐ ์ค„์˜ ์‹œ์ž‘๊ณผ ๋งˆ์ง€๋ง‰์— ๋นˆ์นธ์€ ์—†๋‹ค.

www.acmicpc.net

 

 

์ฝ”๋“œ

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		char[][] cWord = new char[5][15];
		int max = 0;	// ์ž…๋ ฅ๋ฐ›๋Š” ๋ฌธ์ž์—ด ์ค‘ ๊ฐ€์žฅ ๊ธด ๋ฌธ์ž์—ด์˜ ๊ธธ์ด

		for(int i=0; i<5; i++) {
			String str = scan.next();
			max = Math.max(max, str.length());	// ๊ฐ€์žฅ ๊ธด ๋ฌธ์ž์—ด ์ฒดํฌ
			for(int j=0; j<str.length(); j++)
				cWord[i][j] = str.charAt(j);
		}

		for(int i=0; i<max; i++) {
			for(int j=0; j<5; j++) {
				if(cWord[j][i] == '\0')	// char ๋ฐฐ์—ด์˜ ์ดˆ๊นƒ๊ฐ’ = '\0'
					continue;
				System.out.print(cWord[j][i]);
			}
		}
		scan.close();
	}
}

 

 

ํ’€์ด

* char ํƒ€์ž…์˜ 2์ฐจ์› ๋ฐฐ์—ด์˜ ์ดˆ๊นƒ๊ฐ’์€ '\0' ์ž…๋‹ˆ๋‹ค.

* ์ž…๋ ฅ๋ฐ›๋Š” ์ค„์˜ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ธธ์ด๊ฐ€ ๊ฐ€์žฅ ๊ธด ์ค„์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด max ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ–ˆ์Šต๋‹ˆ๋‹ค.

 

1. ํ–‰์€ 5, ์—ด์€ 15์ธ char 2์ฐจ์› ๋ฐฐ์—ด์„ ์„ ์–ดํ•ฉ๋‹ˆ๋‹ค.

2. ๊ฐ ์ค„๋งˆ๋‹ค ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›๊ณ , ๊ฐ€์žฅ ๊ธด ์ค„์˜ ๊ธธ์ด๋ฅผ ๋น„๊ตํ•ด์ค๋‹ˆ๋‹ค.

3. ์ž…๋ ฅ๋ฐ›์€ ๋ฌธ์ž์—ด์„ 2์ฐจ์› char ๋ฐฐ์—ด์— ๋„ฃ์Šต๋‹ˆ๋‹ค.

4. ์„ธ๋กœ๋กœ ์ฝ์œผ๋ฏ€๋กœ ์—ด๊ณผ ํ–‰์„ ๋ฐ”๊ฟ”์„œ ์ถœ๋ ฅํ•˜๊ณ , ๋งŒ์•ฝ ๋ฐฐ์—ด ๊ฐ’์ด '\0' ์ธ ๊ฒฝ์šฐ ๋‹ค์Œ ๋ฐ˜๋ณต๋ฌธ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€