27866 문자와 문자열
[ charAt vs substring ]
- charAt(index)는 특정 위치의 문자를 바로 가져옵니다
	ex. S.charAt(i - 1)
- substring(start, end)는 문자열의 특정 구간을 잘라냅니다
	ex. S.substring(i-1,i)
9086 문자열
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        sc.nextLine(); // 개행문자제거

        StringBuilder result = new StringBuilder(); // 결과 저장

        for (int i = 0; i < N; i++) {
            String S = sc.nextLine();
            int length = S.length();
            result.append(S.charAt(0)).append(S.charAt(length - 1)).append("\n");
        }
        System.out.println(result);     // 한 번에 출력
    }
}
11720 숫자의 합
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt(); // 숫자의 개수
        String numbers = sc.next(); // 공백 없이 쓰인 숫자들

        int sum = 0;

        // 숫자 문자열의 각 문자를 정수로 변환하여 합산
        for (int i = 0; i < N; i++) {
            System.out.println("numbers.charAt(i) = " + numbers.charAt(i));
            sum += numbers.charAt(i) - '0'; // char을 int로 변환
        }

        System.out.println(sum); // 합 출력
    }
}
10809 알파벳 찾기
import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String S = sc.nextLine();

        StringBuilder result = new StringBuilder();

       /* 'a' 부터 'z' 까지 반복
          S.indexOf(c):
		  c가 S에 포함되어 있으면 첫 등장 위치를 반환
		  포함되어 있지 않으면 -1을 반환*/
        for (char c = 'a'; c <= 'z'; c++) {
            result.append(S.indexOf(c)).append(" ");
        }

//        마지막 공백을 제거한 뒤 출력
        System.out.println(result.toString().trim());

    }
}

2908
상수
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        // 입력받기
        int A = sc.nextInt();
        int B = sc.nextInt();

        // 숫자 뒤집기
        int reversedA = reverseNumber(A);
        int reversedB = reverseNumber(B);

        // 결과 출력
        System.out.println(Math.max(reversedA, reversedB));
    }

    // 숫자를 거꾸로 만드는 메서드
    private static int reverseNumber(int num) {
        int reversed = 0;
        while (num > 0) {
            reversed = reversed * 10 + (num % 10); // 가장 오른쪽 자리를 추가
            num /= 10; // 오른쪽 자리 제거
        }
        return reversed;
    }
}
11718 그대로 출력하기
import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args)  throws IOException {
        Scanner sc = new Scanner(System.in);

//        1. Scanner를 사용하는 경우
        while (sc.hasNextLine()) { // 입력이 더 있는 동안 반복
            String line = sc.nextLine(); // 한 줄 읽기
            System.out.println(line); // 그대로 출력
        }

//        2. BufferedReader를 사용하는 경우
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line;

        while ((line = br.readLine()) != null) { // 입력이 null(EOF)일 때 종료
            System.out.println(line); // 그대로 출력
        }
    }
}

 

'Algorithm' 카테고리의 다른 글

[백준] 2차원 배열  (1) 2024.11.29
[백준] 심화 1  (0) 2024.11.29
[백준] 1차원 배열  (0) 2024.11.25
[백준] 반복문  (0) 2024.11.24
[백준] 조건문  (0) 2024.11.23