728x90
2743번. 단어 길이 재기
문제
알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다.
출력
첫째 줄에 입력으로 주어진 단어의 길이를 출력한다.
내 제출
import java.util.Scanner;
public class Main {
//솔루션 함수 (문자열) => 개수 리턴
public int solution(String str) {
int answer = 0;
for(int i = 0; i< str.length(); i++) {
answer++;
}
return answer;
}
//실행 메인
public static void main(String[] args) {
// TODO Auto-generated method stub
Main T = new Main();
Scanner kb = new Scanner(System.in);
// 문자열 입력
String str = kb.next();
//솔루션 리턴값 출력
System.out.println(T.solution(str));
}
}
9086번. 문자열
문제
문자열을 입력으로 주면 문자열의 첫 글자와 마지막 글자를 출력하는 프로그램을 작성하시오.
입력
입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으며 문자열의 길이는 1000보다 작다.
출력
각 테스트 케이스에 대해서 주어진 문자열의 첫 글자와 마지막 글자를 연속하여 출력한다.
내 제출
import java.util.Scanner;
public class Main {
//솔루션 함수 (문자열) => 개수 리턴
public String solution(String str) {
String answer = "";
for(int i = 0; i<str.length(); i++) {
char[] tmp = str.toCharArray();
/// 문자 1개의 문자열인 경우
if(tmp.length == 1) {
answer += tmp[i];
}
if(i==0) { //첫글자
answer += tmp[i];
}else if(i == tmp.length -1) { //끝글자
answer += tmp[i];
}
}
return answer;
}
//실행 메인
public static void main(String[] args) {
// TODO Auto-generated method stub
Main T = new Main();
Scanner kb = new Scanner(System.in);
//1) 첫줄 입력 : 개수 T 입력
int n = kb.nextInt();
//2) T개 만큼 String []에 입력
String[] str = new String[n]; //n개 배열 문자열로 받고
// n번 만큼 문자열 입력받기
for(int i = 0; i<n; i++ ) {
str[i] = kb.next();
}
//솔루션 리턴값 출력
for(int i = 0; i<n; i++) {
System.out.println(T.solution(str[i]));
}
}
}
11720번. 문자열
문제
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력
입력으로 주어진 숫자 N개의 합을 출력한다.
내 제출
- 여기서 중요한 것은 charAt() 으로 문자열의 각 값을 숫자로 얻어올 경우 아스키값을 가져오나봠
- 해당 값을 얻어와야 하므로 charAt()-’0’ 까지 해야 함
import java.util.Scanner;
public class Main {
//솔루션 함수
public int solution(int n, String str) {
int answer = 0;
for(int i = 0; i<n; i++) {
answer += str.charAt(i)-48; // 또는 - '0'
//2. 문자열에 있는 각 숫자를 한 자리씩 읽고 싶을 때, charAt() 함수를 사용하면 된다.
//charAt()만 쓰면 아스키 코드 값이 나오는듯?
// charAt()-'0'까지 적어야 원하는 '숫자 값'을 얻을 수 있다.
}
return answer;
}
//실행 메인
public static void main(String[] args) {
// TODO Auto-generated method stub
Main T = new Main();
Scanner kb = new Scanner(System.in);
//1) N 입력
int n = kb.nextInt();
//2) 문자열로 입력받기
String str = kb.next();
// 정답 출력
System.out.println(T.solution(n, str));
}
}
728x90
'코딩 테스트 [준비] > [문풀] Baekjoon_백준 문풀_조지기' 카테고리의 다른 글
백준 | 배열 섹션 - 10807번, 10871번, 10818번 문풀 (0) | 2023.02.27 |
---|---|
백준 | 문자열 섹션 - 2908번 문풀 (0) | 2023.02.23 |
백준 | 문자열 섹션 - 1152번 문풀 (0) | 2023.02.23 |
백준 | 문자열 섹션 - 1157번 풀이 (0) | 2023.02.23 |
백준 | 문자열 섹션 - 10809번 풀이 (0) | 2023.02.22 |