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

[๋ฐฑ์ค€] 10820๋ฒˆ: ๋ฌธ์ž์—ด ๋ถ„์„

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

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

 

10820๋ฒˆ: ๋ฌธ์ž์—ด ๋ถ„์„

๋ฌธ์ž์—ด N๊ฐœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, ๋ฌธ์ž์—ด์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž, ์ˆซ์ž, ๊ณต๋ฐฑ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๊ฐ ๋ฌธ์ž์—ด์€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž, ์ˆซ์ž, ๊ณต๋ฐฑ์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

www.acmicpc.net

 

 

์ฝ”๋“œ

import java.util.Scanner;

public class Main {

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

		while(scan.hasNextLine()) {
			String str = scan.nextLine();

			int small = 0;	// ์†Œ๋ฌธ์ž
			int big = 0;	// ๋Œ€๋ฌธ์ž
			int num = 0;	// ์ˆซ์ž
			int space = 0;	// ๊ณต๋ฐฑ
			for(int j=0; j<str.length(); j++) {
				char ch = str.charAt(j);
				if(ch >=97 && ch <= 122) 
					small ++;
				else if(ch >= 65 && ch <= 90)
					big ++;
				else if(ch >= 48 && ch <= 57)
					num ++;
				else if(ch == 32)
					space ++;
			}
			System.out.println(small + " " + big + " " + num + " " + space);
		}
		scan.close();
	}
}

 

์ž…๋ ฅ ์กฐ๊ฑด๋•Œ๋ฌธ์— ์กฐ๊ธˆ ํ—ค๋งธ๋‹ค...

 

๋ฌธ์ž์—ด ๊ฐฏ์ˆ˜๊ฐ€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅ๋ฐ›๋Š”๊ฒŒ ์•„๋‹Œ ๋ฌธ์ œ์—์„œ N๊ฐœ๋กœ ์ฃผ์–ด์ง„๋‹ค.

๋”ฐ๋ผ์„œ Scanner ๊ฐ์ฒด์— ์ž…๋ ฅ ๋ฒ„ํผ์— ๋‹ค์Œ ์ž…๋ ฅ๊ฐ’์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ๋Š” hasNextLine()๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

https://docs.oracle.com/javase/9/docs/api/java/util/Scanner.html

 

 

๋ชจ๋“  ์กฐ๊ฑด์„ ์•„์Šคํ‚ค์ฝ”๋“œ๊ฐ’์„ ์ด์šฉํ•ด ๋‹ค ํŒ๋ณ„ํ–ˆ๋‹ค .

๋”ฑํžˆ ์ˆซ์ž๋ฅผ ์•ˆ์“ฐ๊ณ  ๋ฌธ์ž๋กœ 'a', 'z', 'A', 'Z' ์™€ ๊ฐ™์ด ์ ์–ด๋„ ์ƒ๊ด€์—†๋‹ค.

 

 

sc.next() -> ๋‹ค์Œ ํ† ํฐ์„ ์ฝ์Šต๋‹ˆ๋‹ค.

sc.nextLine -> ๋‹ค์Œ ํ–‰์„ ์ฝ์Šต๋‹ˆ๋‹ค.

sc.hasNext -> ํ† ํฐ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  boolean์„ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค. ๊ณต๋ฐฑ์˜ ๊ฒฝ์šฐ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

sc.hasNextLine -> ํ–‰์ด ์žˆ๋Š”์ง€ ํ™•์ธ ํ›„ boolean์„ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค. ์ค„๋ฐ”๋€œ์ด ์žˆ์œผ๋ฉด true๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€