728x90
반응형
해커랭크 - https://www.hackerrank.com/
Prepare > Java > Strings > Java String Tokens
정규식 [A-Za-z !,?._'@]+와 일치하는 문자열 s가 주어지면 문자열을 토큰으로 분할합니다. 우리는 토큰을 하나 이상의 연속적인 영어 알파벳으로 정의합니다. 그런 다음 새 줄에 각 토큰이 오는 토큰 수를 출력합니다.
Note : 이 챌린지를 완료하는 데 String.split 메서드가 도움이 될 수 있습니다.
Input Format
단일 문자열, s.
Constraints
- 1 ≤ length of s ≤ 4 · 10⁵
- s는 영문자, 공백, 느낌표(!), 쉼표(,), 물음표(?), 마침표(.), 밑줄(_), 아포스트로피(') 및 at 기호(@).
Output Format
첫 번째 줄에 문자열 s의 토큰 수를 나타내는 정수 n을 출력합니다(고유할 필요는 없습니다). 다음으로, 입력 문자열 s에 나타나는 것과 같은 순서로 새 줄에 n개의 토큰을 각각 출력합니다.
Sample Input
He is a very very good boy, isn't he?
Sample Output
10
He
is
a
very
very
good
boy
isn
t
he
Explanation
우리는 토큰을 알파벳 문자의 연속적인 부분으로 간주합니다. 문자열 s에는 총 10개의 이러한 토큰이 있으며 각 토큰은 문자열 s에 나타나는 것과 동일한 순서로 인쇄됩니다.
Code
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
// Write your code here.
if (s.trim().length() >= 1 || s.trim().length() >= 400000) {
String[] str = s.trim().split("[ !,?._'@]+");
System.out.println(str.length);
for(int i = 0; i < str.length; i += 1) {
System.out.println(str[i]);
}
} else {
System.out.println("0");
}
scan.close();
}
}
개인 공부를 위한 포스팅입니다.
모든 번역, 코드는 완벽하지 않을 수 있습니다.
728x90
반응형
'> 개발-IT-인터넷 > > JAVA' 카테고리의 다른 글
[해커랭크(HackerRank) JAVA 풀이] - Java Regex (0) | 2023.09.18 |
---|---|
[해커랭크(HackerRank) JAVA 풀이] - Pattern Syntax Checker (0) | 2021.10.01 |
[해커랭크(HackerRank) JAVA 풀이] - Java Anagrams (0) | 2021.10.01 |
[해커랭크(HackerRank) JAVA 풀이] - Java Date and Time (0) | 2021.10.01 |
[해커랭크(HackerRank) JAVA 풀이] - Java String Reverse (0) | 2021.09.01 |