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

[SW Expert Academy] - (D3)7087. ๋ฌธ์ œ ์ œ๋ชฉ ๋ถ™์ด๊ธฐ

by ์ฃผ๋ฐœ2 2020. 6. 4.
๋ฐ˜์‘ํ˜•

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWkIdD46A5EDFAXC&categoryId=AWkIdD46A5EDFAXC&categoryType=CODE

 

SW Expert Academy

SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!

swexpertacademy.com

์ฝ”๋“œ

import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		int T = scan.nextInt();

		for(int tc=1; tc<=T; tc++) {
			int N = scan.nextInt();	// ์ œ๋ชฉ์˜ ๊ฐฏ์ˆ˜
			String[] words = new String[N];
			int count = 0;	// ๊ฐฏ์ˆ˜
			int checkFirstWord = 65;

			for(int i=0; i<words.length; i++) {
				words[i] = scan.next();
			}
			
			// ์•ž์—์žˆ๋Š” ๋ฌธ์ž๋“ค์€ ๋ฌด์‹œํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ฏ€๋กœ, ์ •๋ ฌ์„ ํ†ตํ•ด ์•ŒํŒŒ๋ฒณ ์ˆœ์œผ๋กœ ๊ฒ€์‚ฌํ•œ๋‹ค.
			Arrays.sort(words);
			
			for(int i=0; i<words.length; i++) {
				
				/* ๋Œ€๋ฌธ์ž A๋Š” ์•„์Šคํ‚ค์ฝ”๋“œ๊ฐ’์œผ๋กœ 65์ž„, ๋”ฐ๋ผ์„œ 65๋ฉด ์นด์šดํŠธ +1, ๋‹ค์Œ B๋Š” 66์ด๋ฏ€๋กœ ๋น„๊ตํ• ๊ฐ’ +1 */
				if((int)words[i].charAt(0) == checkFirstWord) {
					count ++;
					checkFirstWord ++;
				}
				
			}
			
			System.out.println("#" + tc + " " + count);
		}

		scan.close();
	}

}

ํ’€์ด

๋ฌธ์ œ์˜ ์กฐ๊ฑด์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์ œ๋ชฉ์˜ ๊ฐ€์žฅ ์•ž ๊ธ€์ž ์•ŒํŒŒ๋ฒณ์ด ๋Œ€๋ฌธ์ž A๋ถ€ํ„ฐ A, B, C, ..., Z ์ˆœ์„œ๋Œ€๋กœ ํ•œ ๋ฒˆ์”ฉ ๋“ฑ์žฅํ•ด์•ผ ํ•˜๊ณ ,

์—ฐ์†๋œ(?) ์•ŒํŒŒ๋ฒณ์˜ ๊ฐฏ์ˆ˜๋ฅผ ๊ตฌํ•ด์•ผํ•œ๋‹ค.

๋งŒ์•ฝ ๊ฐ ์ œ๋ชฉ์˜ ์•ž๊ธ€์ž๊ฐ€ A , D , B , F , G ๋ผ๋ฉด C๋Š” ์—†์œผ๋ฏ€๋กœ, A B ํ•ด์„œ 2์ด๋‹ค.

 

ํ•˜์ง€๋งŒ ์กฐ์‹ฌํ•ด์•ผ ํ• ์ ์€ ์ˆœ์„œ๋Š” ์ƒ๊ด€ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

์˜ˆ๋ฅผ๋“ค์–ด ์ œ๋ชฉ์˜ ์•ž๊ธ€์ž๊ฐ€ A , D , H , J , C , B ์™€ ๊ฐ™๋‹ค๋ฉด, A B C D 4๊ฐœ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์ •๋‹ต์€ 4์ด๋‹ค.

 

๋‚˜๋Š” ์•„์Šคํ‚ค์ฝ”๋“œ์˜ ๊ฐ’์„ ์ด์šฉํ•ด ํ’€์—ˆ๋‹ค. 

 

๋จผ์ € String ๋ฐฐ์—ด์— ๋ฌธ์ž์—ด๋“ค์„ ์ €์žฅํ•˜๊ณ , ์ •๋ ฌ์„ ํ•œ๋‹ค.

 

๊ทธ ํ›„ ๊ฐ€์žฅ ์•ž ๊ธ€์ž์˜ ์•ŒํŒŒ๋ฒณ๋งŒ ๊ฒ€์‚ฌํ•ด์„œ 65๋ถ€ํ„ฐ ์žˆ๋Š” ์ˆ˜๋งŒํผ count๊ฐ’์„ 1์”ฉ ์ฆ๊ฐ€, ๋น„๊ต๋˜๋Š” ์•„์Šคํ‚ค์ฝ”๋“œ๊ฐ’์„ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.

 

๊ทธ ํ›„ ์กฐ๊ฑด์— ๋งž๊ฒŒ ์ถœ๋ ฅํ•ด์ฃผ๋ฉด ๋.

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€