어리바리 신입 개발자의 얼렁뚱땅 개발 기록 ✨
[ Java / 백준 27866 ] 문자열에서 숫자로 문자 찾기 본문
728x90
[ 배열에 넣어서 찾기 ]
[toCharArray] 속도 : 136 / 길이 : 675B
[split] 속도 : 124 / 길이 : 673B
String str = "abcdefg";
// 1. toCharArray 사용해서 문자로 쪼개서 배열에 넣기
char[] chrArr = str.toCharArray();
System.out.println(chrArr[0]); // a 출력
// 2. split 사용해서 문자열로 쪼개서 배열에 넣기
String[] strArr = str.split("");
System.out.println(strArr[0]); // a 출력
// 두개 차이점 : 배열을 출력하면 ?
System.out.println(chrArr); // abcdefg 출력
System.out.println(strArr); // [Ljava.lang.String;@4361bd48 출력
System.out.println(Arrays.toString(strArr)); // [a,b,c,d,e,f,g] 출력
[ charAt 사용 ]
속도 : 124 / 길이 : 627B
String str = "abcdefg";
System.out.println(str.charAt(4)); // e 출력
String strNum = "12243";
System.out.println(strNum.charAt(3)); // 4 출력
// 만약 3번 인덱스의 숫자에서 - 1 을 한 결과를 출력하려면?
// strNum.charAt(3) - 1 하면 3이 출력될거라고 착각 할 수 있다.
// 하지만 char는 말그대로 문자이기 때문에 숫자 - 숫자가 아니라 문자 - 숫자이기 때문에
// 아스키 코드로 변환되어 계산된다.
// 즉, strNum.charAt(3) - 1 는 4 - 1 이 아니라 '4' - 1 이기 때문에 자동으로 52 - 1 = 51이 된다.
// strNum.charAt(3) - '1'을 하면 원하는 3이 출력된다.
[ substring 사용 ]
속도 : 124 / 길이 : 638B
String str = "abcdefg";
System.out.println(str.substring(2, 5)); // cde 출력
728x90
'Back - end > JAVA' 카테고리의 다른 글
[ Java / 백준 2675 ] 문자열 문자 단위로 반복해서 출력하기 (0) | 2023.09.11 |
---|---|
[ Java / 백준 9086, 11720] charAt의 사용에 대해서 (0) | 2023.09.05 |
[ Java / 백준 10809] 문자열에서 특정 문자를 찾는 방법 (배열,indexOf, contains,IntStream) (0) | 2023.09.05 |
[ Java ] Arrays 클래스 (0) | 2023.09.03 |
[ Java / 백준15552 ] BufferedReader & BufferedWriter (1) | 2023.08.31 |