๐๋ฌธ์ ์ถ์ฒ : https://www.acmicpc.net/problem/11718
๐code ์ ์ฅ์ : hayannn/CodingTest_Java_NKLCBHub/#11718 ๊ทธ๋๋ก ์ถ๋ ฅํ๊ธฐ
์
๋ ฅ๋ฐ์๋๋ก ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๊ฐ๋จํ ๊ตฌํ ๋ฌธ์ ์
๋๋ค.
๋จ, ์กฐ๊ฑด์ด ์กด์ฌํฉ๋๋ค.
๐จ ์ฃผ์์ฌํญ
- ๋ฌธ์ฅ์ ๊ตฌ๋ถ์ง๋ ๊ธฐ์ค์ ๋ช ํํ ์ธ์ฐ์ง ์์ผ๋ฉด ํ ์คํธ์ ์คํจํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฃผ์๊ฐ ํ์ํฉ๋๋ค.
๐ ํ์ด ๊ณผ์ ๋ฐ ์ฝ๋
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
if (scanner.hasNextLine()) {
String words = scanner.nextLine();
if (words.length() > 100) {
System.out.println("100๊ธ์๊ฐ ๋์ผ๋ฉด ์๋ฉ๋๋ค.");
} else if (words.matches("^[a-zA-Z\\s0-9]+$")) {
System.out.println(words);
} else {
System.out.println("๋ฌธ์์ด ํ์์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค.");
}
} else {
break;
}
}
scanner.close();
}
}
hasNextLine
NextLine | hasNextLine | |
---|---|---|
๊ธฐ์ค | Enter ์ด์ ๊น์ง๋ง | Enter ์ดํ์ ๋ค์ ์ค ์ ๋ ฅ์ด ์๋์ง ์ฌ๋ถ ํ์ (True/False) |
ํํ | String | Boolean |
words.matches("^[a-zA-Z\\s0-9]+$")
hasNextLine() ์ฌ์ฉ
โก๏ธ ๋ฌธ์์ด์ ๊ทธ๋๋ก ์ถ๋ ฅํ๋ ๊ฐ๋จํ ์์ ์ด์ง๋ง, ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ชจ๋ ์ถฉ์กฑํด์ผํ๋ ์ฃผ์ ์ฌํญ์ด ์๊ธฐ ๋๋ฌธ์ ๊ฐ ์กฐ๊ฑด์ ๋ง๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์ฑํด์ผํ๋ ๋ฌธ์ ์ ๋๋ค.
โก๏ธ hasNextLine()์ ์ด์ฉํด ์ต๋ 100์ค์ ์ ๋ ฅ๋ฐ์ ์ ์๋ค๋ ์กฐ๊ฑด์ ์ถฉ์กฑํ๊ณ , ์ ๊ท ํํ์๊ณผ matches๋ฅผ ํตํด ๋ฌธ์์ด์ ๊ตฌ์ฑ ์กฐ๊ฑด์ ์ถฉ์กฑํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
โก๏ธ ๊ทธ๋ฌ๋ Scanner์ ๊ฒฝ์ฐ close๋ฅผ ํด์ฃผ์ง ์์ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ์๊ธฐ๊ธฐ ๋๋ฌธ์ BufferedReader
๋ฅผ ์ด์ฉํด์๋ ํ์ด๋ด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค!