# 9086번 문자열

* 문제
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
for(int i = 0; i < t; i++) {
String s = sc.next();
System.out.print(s.charAt(0));
System.out.println(s.charAt(s.length()-1));
}
}
}
# 11720번 숫자의 합

* 풀이
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String num = sc.next();
int sum = 0;
for(int i = 0; i < n; i++) {
sum += num.charAt(i)-'0';
}
System.out.print(sum);
}
}
int n = sc.nextInt();
자릿수를 입력받는다.
String num = sc.next();
숫자를 문자열로 입력받는다.
for(int i = 0; i < n; i++) {
for문을 통해 입력받은 자릿수만큼 반복한다.
sum += num.charAt(i)-'0';
문자열 하나 하나 뗴와서 더한다.
-'0'은 문자 (char)로 표현된 숫자를 정수 (int)로 변환하기 위함. 문자 '0'의 아스키코드 값인 48을 빼면 해당 숫자 문자의 실제 정수 값이 된다.
입력받은 자릿수와 문자열 수가 다르면 에러 발생!
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 1
System.out.print(sum);
sum 값을 출력
+) 두잇! 알고리즘 코테 책 참고
슈도코드 작성하기
N값 입력받기
길이 N의 숫자를 입력받아 String 변수 sNum에 저장하기
sNum을 다시 char []형 변수 cNum에 변환하여 저장하기
int형 변수 sum 선언하기
for(cNum 길이만큼 반복하기)
{
배열의 각 자릿값을 정수형으로 변환하며 sum에 더하여 누적하기
}
sum 출력하기
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
//입력값을 String 변수 sNum에 저장한 후 char[]형 변수로 변환
String num = sc.next();
char[] cNum = sNum.toCharArray();
int sum = 0;
for(int i = 0; i < cNum.length; i++) {
sum += num.charAt(i)-'0'; //cNum[i]를 정수형으로 변환하면서 sum에 더하여 누적
}
System.out.print(sum);
}
}
'코테 > 백준' 카테고리의 다른 글
| [백준 / java 11] 5217번 쌍의 합, 7287번 등록 (0) | 2025.05.29 |
|---|---|
| [백준 / java 11] 4562번 No Brainer, 4892번 숫자 맞추기 게임 (0) | 2025.05.28 |
| [백준 / java 11] 27866번 문자와 문자열 (0) | 2025.05.21 |
| [백준 / java 11] 11654번 아스키 코드, 2743번 단어 길이 재기 (0) | 2025.05.15 |
| [백준 / java 11] 1차원 배열 > 3052번 나머지 (0) | 2025.05.14 |