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 문법 정리 -->
- .