

public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int nextInt = sc.nextInt();
String num = sc.next();
int sum = 0;
for (int i = 0; i < nextInt; i++) {
sum += num.charAt(i) - '0';
}
System.out.println(sum);
}
}
sc.next() → 공백 없이 숫자를 문자열로 입력받음.for) → 문자열 길이만큼 반복하여 한 자리씩 접근.charAt(i) - '0'→ 문자(char)를 정수(int)로 변환 ('5' - '0' → 5).sum +=) → 각 숫자를 더해서 결과 계산.
Scanner sc = new Scanner(System.in);
String s = sc.next();
for (char c = 'a'; c <= 'z'; c++) {
System.out.print(s.indexOf(c) + " ");
}
indexOf()indexOf() 메서드는 문자열에서 특정 문자의 첫 번째 등장 위치를 찾아주고, 존재하지 않으면 -1을 반환한다.s.indexOf(c)
Scanner sc = new Scanner(System.in);
int T = sc.nextInt(); // 테스트 케이스 개수 입력
for (int i = 0; i < T; i++) {
int R = sc.nextInt(); //반복 횟수 입력
String S = sc.next();
StringBuilder P = new StringBuilder(); // 결과 문자열 저장
for (char c : S.toCharArray()) { // 문자열 S의 각 문자열에 대해
P.append(String.valueOf(c).repeat(R)); // R번 반복하여 추가
}
System.out.println(P);
}
T: 테스트 케이스 개수를 입력받음.R: 각 테스트 케이스에서 문자를 몇 번 반복할지 입력받음.S: 반복할 문자열 입력.StringBuilder P를 사용하여 문자열을 효율적으로 조합.S.toCharArray()를 이용해 S를 문자 배열로 변환.String.valueOf(c).repeat(R) → 각 문자를 R번 반복하여 P에 추가.
Scanner sc = new Scanner(System.in);
String T = sc.nextLine().trim();
String[] split = T.split(" ");
System.out.println(split.length);
}
공백만 입력된 경우 예외 처리를 하지 않았기 때문에 틀린 답이다.
-> 입력이 공백(" ")만 있을 때, split(" ")이 빈 배열을 올바르게 처리하지 못하기 때문이다.
입력이 " "(공백만 있는 경우)라면?
trim()을 적용하면 ""(빈 문자열)이 된다.split(" ")을 호출하면 빈 문자열 배열이 아닌 [""](길이 1인 배열)을 반환.=> 공백만 입력된 경우 isEmpty()를 활용해 배열 크기를 0으로 설정해야 한다.
Scanner sc = new Scanner(System.in);
String T = sc.nextLine().trim();
if (T.isEmpty()) {
System.out.println(0);
} else {
String[] split = T.split(" ");
System.out.println(split.length);
}
split("\\s+") 사용하면 연속 공백도 하나의 구분자로 처리 가능하다.