티스토리 뷰

[단계별로 풀어보기] 백준 27866 문자와 문자열

 

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

 

해설: 

1. 문자열을 입력받을때는 Scanner와 .next()를 사용한다. 

.next() 함수의 특징

 

  • 단어 단위로 입력: next()는 공백이나 줄바꿈을 만나기 전까지의 문자열을 읽는다. 사용자가 입력한 값에 공백이 있다면 첫 번째 공백 전의 단어를 리턴한다.
  • 공백 무시: 입력에 공백이 포함되어 있다면, 공백을 제외하고 그 이후의 단어를 다음 호출에서 읽어온다.

(예. 입력값이 Hello World인 경우 Hello까지만 호출하고 World는 다음 next()에서 읽어옴 )

  • 엔터키로 입력 완료: 사용자가 엔터를 입력해야 next()가 실행된다. 

 

2. 문자열에서 n번째 문자를 가져올 때는 .charAt(n)을 사용한다. 

예를들어 Hello의 .charAt(0)은 H, .charAt(1)은 e이다.

입력받은 n이 4일 경우, 4번째 문자를 가져와야 하는데 charAt(n)은 0부터 시작이므로 n-1인 3을 넣어줘야 4번째 문자를 가져올 수 있다. 4를 그대로 넣을 경우 5번째 문자를 가져온다. 

 

코드:

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String st = sc.next();
        int n = sc.nextInt()-1;

        System.out.println(st.charAt(n));

        sc.close();

    }
}

'백준 > java' 카테고리의 다른 글

[백준 9086 / JAVA] 문자열  (1) 2024.11.14
[백준 2743 / JAVA] 단어 길이 재기  (0) 2024.11.14
[백준 10818 / JAVA] 최소, 최대  (1) 2024.11.09
[백준 10871 / JAVA] x보다 작은 수  (0) 2024.11.07
[백준 10807 / JAVA] 개수 세기  (0) 2024.11.07
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함