728x90
๋จ์ด์ ๊ฐ์
๋ฌธ์
์์ด ๋์๋ฌธ์์ ๋์ด์ฐ๊ธฐ๋ง์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. ์ด ๋ฌธ์์ด์๋ ๋ช ๊ฐ์ ๋จ์ด๊ฐ ์์๊น? ์ด๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋จ, ํ ๋จ์ด๊ฐ ์ฌ๋ฌ ๋ฒ ๋ฑ์ฅํ๋ฉด ๋ฑ์ฅํ ํ์๋งํผ ๋ชจ๋ ์ธ์ด์ผ ํ๋ค.
์ ๋ ฅ
์ฒซ ์ค์ ์์ด ๋์๋ฌธ์์ ๋์ด์ฐ๊ธฐ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. ์ด ๋ฌธ์์ด์ ๊ธธ์ด๋ 1,000,000์ ๋์ง ์๋๋ค. ๋จ์ด๋ ๋์ด์ฐ๊ธฐ ํ ๊ฐ๋ก ๊ตฌ๋ถ๋๋ฉฐ, ๊ณต๋ฐฑ์ด ์ฐ์ํด์ ๋์ค๋ ๊ฒฝ์ฐ๋ ์๋ค. ๋ํ ๋ฌธ์์ด์ ์๊ณผ ๋ค์๋ ๊ณต๋ฐฑ์ด ์์ ์๋ ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋จ์ด์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
import java.util.Scanner;
//2021.06.19 1152๋ฒ : ๋จ์ด์ ๊ฐ์
public class baekjoon_1152 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String str;
String[] strArray= {};
int num;
str=scanner.nextLine();
if(!str.isBlank()) {
//๋ฌธ์์ด์ ์๊ณผ ๋ค์๋ ๊ณต๋ฐฑ์ด ์์ ์๋ ์๋ค.->trim ๋ฉ์๋๋ก ์ ๋ค ๊ณต๋ฐฑ ์ ๊ฑฐ
str=str.trim();
//๋จ์ด๋ ๋์ด์ฐ๊ธฐ ํ ๊ฐ๋ก ๊ตฌ๋ถ-> split๋ฉ์๋๋ก ๋ฐํ๋ ๋ฌธ์์ด ๋ฐฐ์ด์ ๊ฐ์ ๊ตฌํ๊ธฐ
strArray=str.split(" ");
num=strArray.length;
}
else
num=0;
System.out.println(num);
scanner.close();
}
}
- ํ ๋จ์ด๊ฐ ์ฌ๋ฌ ๋ฒ ๋ฑ์ฅํ๋ฉด ๋ฑ์ฅํ ํ์๋งํผ ๋ชจ๋ ์ธ์ด์ผ ํ๋ค. -> ๋จ์ด ์ค๋ณต ์ ๊ฑฐ ๋ถํ์
- ๋จ์ด๋ ๋์ด์ฐ๊ธฐ ํ ๊ฐ๋ก ๊ตฌ๋ถ -> split(๊ตฌ๋ถ์ " ") ๋ฉ์๋ ์ฌ์ฉ
- ๋ฌธ์์ด์ ์๊ณผ ๋ค์๋ ๊ณต๋ฐฑ์ด ์์ ์๋ ์๋ค. -> strim() ๋ฉ์๋ ์ฌ์ฉ
- ํ๋ฆฐ ๋ถ๋ถ : ์ ๋ ฅ ๊ฐ์ด ์์ ๊ฒฝ์ฐ 0์ด ์๋๋ผ 1์ด ๋ฐํ๋๋ค.
1. String.isBlank ์ String.isEmpty
boolean java.lang.String.isBlank()
Returns true if the string is empty or contains only white space codepoints,otherwise false.
: String์ด ๊ณต๋ฐฑ์ผ ๊ฒฝ์ฐ true๋ฅผ ๋ฐํํ๋ค.
boolean java.lang.String.isEmpty()
Returns:true if length() is 0, otherwise false
: String์ ๊ธธ์ด๊ฐ 0์ผ ๊ฒฝ์ฐ true๋ฅผ ๋ฐํํ๋ค. ์ฆ, ๊ณต๋ฐฑ์ด ํ๋ ์์ ๊ฒฝ์ฐ ๊ธธ์ด๊ฐ 0์ด ์๋๊ธฐ ๋๋ฌธ์ fasle ๋ฐํ.
2. String.trim()
String java.lang.String.trim()
Returns: a string whose value is this string, with all leading and trailing space removed, or this string if it has no leading or trailing space.
:์๋ณธ String์ ์๊ณผ ๋ค์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ String ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค. ์๊ณผ ๋ค์ ๊ณต๋ฐฑ์ด ์๋ค๋ฉด ์๋ณธ String ๊ฐ์ฒด๋ฅผ ๊ทธ๋๋ก ๋ฐํํ๋ค.
Otherwise, if all characters in this string are space (as defined above), then a String object representing an empty string is returned.
:๋ง์ฝ ํด๋น String์ ๋ชจ๋ ๋ฌธ์๊ฐ ๊ณต๋ฐฑ์ผ ๊ฒฝ์ฐ ๋น ๋ฌธ์์ด ๊ฐ์ฒด๊ฐ ๋ฐํ๋๋ค.
3. String.split(String regex)
String[] java.lang.String.split(String regex)
Splits this string around matches of the given regular expression.
: ์ ๋ ฅ ํ๋ผ๋ฏธํฐ๋ก ์ฃผ์ด์ง ์ ๊ท์์ผ๋ก ํด๋น String์ ๋ถํ ํ๋ผ.
This method works as if by invoking the two-argument split method with the given expression and a limit argument of zero. Trailing empty strings are therefore not included in the resulting array.
:์ด ๋ฉ์๋๋ split(์ ๊ท์, ์ ํ: 0) ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๊ฒ์ฒ๋ผ ์๋ํ๋ค. ๋ฐ๋ผ์ ํํ์ ๊ฒฐ๊ณผ ๋ฐฐ์ด์ ํฌํจ๋์ง ์๋๋ค.
+
String[] java.lang.String.split(String regex, int limt)
The limit parameter controls the number of times the pattern is applied and therefore affects the length of the resulting array.
: limt ์ ์ ๊ท์ ํจํด์ด ์ ์ฉ๋๋ ํ์๋ฅผ ์ ํํ๋ฏ๋ก ๊ฒฐ๊ณผ ๋ฐฐ์ด์ ๊ธธ์ด์ ์ํฅ์ ์ค๋ค.
728x90
'์ฝ๋ฉ ํ ์คํธ > ๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ / java ] 15552 - ๋น ๋ฅธ A+B ( BufferedReader ) (0) | 2021.06.30 |
---|---|
[ ๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ / java ] 10828 - ์คํ (1) (0) | 2021.06.24 |