Skip to main content

20. [Java] 문자열 앞의 n글자

https://school.programmers.co.kr/learn/courses/30/lessons/181907

  • 매개변수: my_string, n
  • my_string의 앞의 n글자로 이루어진 문자열

  • my_string은 숫자와 알파벳으로 이루어져 있다.
  • 1 ≤ my_string의 길이 ≤ 1,000
  • 1 ≤ n ≤ my_string의 길이

정답코드

class Solution {
    public String solution(String my_string, int n) {
        return my_string.substring(0, n);
    }
}
String.substring(0, n) 은 Java에서 문자열의 일부분을 잘라내는 메서드이다.
String.substring(int beginIndex, int endIndex)
str.substring(start, end)
  • start: 포함되는 시작 인덱스 (0부터 시작)
  • end: 포함되지 않는 끝 인덱스
    즉, start부터 end - 1까지의 문자를 잘라냄

코드

의미

substring(0, n)

앞에서부터 n글자 → 정답

substring(my_string.length() - n)

뒤에서부터 n글자 → 오답

substring(0, my_string.length() - n)

앞에서 (전체 - n)글자 → 오답


오답

내가 처음 쓴 코드는 앞에서부터 n글자가 아니라 뒤에서부터 n글자를 잘라오는 코드이다.

class Solution {
    public String solution(String my_string, int n) {
        int len = my_string.length() - n;
        return my_string.substring(len);
    }
}

image.png


비슷한 유형 문제

class Solution {
    public int solution(String my_string, String is_prefix) {
        for(int i = 0; i < my_string.length(); i++) {
            String str = my_string.substring(0, i);
            if (is_prefix.equals(str)) return 1;
        }
        return 0;
    }
}