https://www.acmicpc.net/problem/27866
27866번: 문자와 문자열
첫째 줄에 영어 소문자와 대문자로만 이루어진 단어 $S$가 주어진다. 단어의 길이는 최대 $1\,000$이다. 둘째 줄에 정수 $i$가 주어진다. ($1 \le i \le \left|S\right|$)
www.acmicpc.net

import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String S = sc.next();
int i = sc.nextInt();
String str = S.substring(i-1, i);
System.out.println(str);
}
}
substring을 사용해서 i번째 문자를 출력했다.
substring은 문자열을 잘라낼 때 사용한다.
문자열도 문자 배열이기 때문에 0부터 시작하게 된다.(기억하자)
String str = "가나다라마바사다" 이 때 substring(3)을 사용하게 되면 '라마바사다'가 출력된다. 3번 째 문자인 라부터 끝까지 다 출력되는 셈. 만약 substring(4,7) 처럼 범위를 정해주면 '마바사'만 출력된다. 4번 째 문자부터 6번 째 문자까지 출력되는 것. substring(a, b)는 인덱스 a부터 b-1까지 출력한다고 생각하자.
+ next() 와 nextLine()의 차이점
next()은 공백을 기준으로하여 한 단어를 입력받는다. 사용자가 공백 문자(스페이스, 탭, 개행 등)을 입력하기 전까지의 문자만 읽어온다. 입력 후에는 버퍼에서 공백 이후의 문자열을 남겨둔다.
nextLine()은 한 줄의 문자열을 입력받는다. 개행문자(\n)를 만날 때까지의 모든 문자열을 읽어온다. nextLine()은 개행 문자를 소비하고, 입력된 문자열을 반환한다. 따라서 nextLine()을 호출하면 버퍼를 비운다.
https://seeminglyjs.tistory.com/256
[Java] Scanner / next() 와 nextLine() 차이를 알아보자.
2021-02-12 Scanner 에는 String을 입력받는 메서드 next()와 nextLine() 이 있는데, 오늘은 이 둘의 차이를 알아보도록 하자. - Scanner.next() package nextLineVsNext; import java.util.Scanner; public class Main { public static void
seeminglyjs.tistory.com
'Java' 카테고리의 다른 글
[백준] 코딩테스트 문제 9086 : 문자열 (0) | 2023.07.11 |
---|---|
[백준] 코딩테스트 문제 2743 : 단어 길이 재기 (0) | 2023.07.11 |
[백준] 코딩테스트 문제 5597 : 과제 안 내신 분..? (0) | 2023.06.26 |
[백준] 코딩테스트 문제 10813 : 공 바꾸기 (0) | 2023.06.26 |
[백준] 코딩테스트 문제 10810 : 공 넣기 (0) | 2023.06.26 |