CODING TEST/baekjoon

#27866 - 문자와 문자열

iamyuunzo 2025. 7. 9. 11:58

📌 문제 정보

- 문제 이름 : #27866번 - 문자와 문자열

- 문제 링크: https://www.acmicpc.net/problem/27866

 

 

📌 문제 요약

- 핵심 조건: 단어 S와 정수 i가 주어졌을 때, S의 i번째 글자를 출력하는 프로그램을 작성하시오.

- 제한: (1 ≤ i ≤ |S|)

 

 

📌 최종 정답 및 풀이

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String S = sc.next();
        int i = sc.nextInt();
        char result = S.charAt(i-1);

        System.out.print(result);
    }
}

-------------------------------------------

// substring 버전
String result = S.substring(i - 1, i);
System.out.println(result);

<-- 풀이 요약 -->

- i가 1부터 시작이기 때문에 -1을 해줘야 함. (인덱스는 0부터 시작이고 입력은 1부터 시작이기 때문에)

- substring을 써야하는줄 알았는데 접근이 좀 이상한 것 같아서 힌트 보고 품.

  => 가능은 함. 범위를 지정하면 부분 문자열을 꺼내와서 글자 하나만 자를 수 있음. but 이 문제는 글자 하나만 꺼내면 되니까 복잡

- charAt()를 쓰는게 직관적이고 덜 복잡함. return 타입이 char이라서.

charAt() S.charAt(i - 1) 리턴 타입이 char (한 글자)
substring() S.substring(i - 1, i) 리턴 타입이 String (문자열)

 

 

 

📌 새로 배운 문법

<-- 이번 문제에서 새로 배운 Java 문법 정리 -->

- .