JAVA 코딩테스트 - charAt() 함수

shin_stealer·2021년 3월 13일
2

charAt(i)

charAt 함수란?
String 타입의 데이터(문자열)에서 특정 문자를 char 타입으로 변환할 때 사용하는 함수이다.

String sample = "abc";
char target = sample.charAt(0);

위처럼 String 변수에서 사용할 수 있으며,
charAt(i)
i 자리에는 int 형 변수를 넣어서 원하는 위치의 문자를 가져올 수 있다.

사용 예시)

public class Test {
	public static void main(String[] args) {
    // 변수 선언
    String example = "안녕하세요";
    char target1;
    char target2;
    char target3;
    
    target1 = example.charAt(0);
    target2 = example.charAt(1);
    target3 = example.charAt(2);
    
    System.out.println(target);
    System.out.println(target2);
    System.out.println(target3);
}

결과

반복문 활용 예시 1)역순 조회

public class Test {
	public static void main(String[] args) {
    // 변수 선언
    String example = "안녕하세요";
    
    // 문자열 역순으로 char 변수 조회
    int exampleLength = example.length()-1;
    while (exampleLength >= 0) {
    	char target;
        target = example.charAt(exampleLength);
        System.out.println(target);
        exampleLength--;
    }
}

결과

반복문 활용 예시 2)순서대로 조회

public class Test {
	public static void main(String[] args) {
    // 변수 선언
    String example = "안녕하세요";
   
   int i=0;
    // 문자열 순서대로 char 변수 조회
    int exampleLength = example.length()-1;
    while (i <= exampleLength) {
    	char target;
        target = example.charAt(i);
        System.out.println(target);
        i++;
    }
    
    // for문 활용
    for (int j=0; j<=exampleLength; j++) {
    char target;
    target = example.charAt(j);
    System.out.println(target);
    }
}

결과

사용 예시) 숫자형태의 String 에서 int 변수로 바로 변환할 때

String 관련 코딩테스트 문제를 풀 때 꼭! 알아야하는 함수라고 한다.
int num = str.charAt(i) - '0';

char 타입의 문자를 int 타입의 변수로 변환할 때 사용하는 함수

ex)

String numbers = "12345";

// 숫자로 구성된 String 변수에서 특정 숫자를 바로 int 변수로 가져올 수 있다.
int targetNumber1 = numbers.charAt(0) - '0';
int targetNumber2 = numbers.charAt(1) - '0';
int targetNumber3 = numbers.charAt(2) - '0';

System.out.println("targetNumber1 = "+targetNumber1);
System.out.println("targetNumber2 = "+targetNumber2);
System.out.println("targetNumber3 = "+targetNumber3);

int test1 = 10 - targetNumber1;
int test2 = 10 - targetNumber2;
int test3 = 10 - targetNumber3;

System.out.println("10 - targetNumber1 = "+test1);
System.out.println("10 - targetNumber2 = "+test2);
System.out.println("10 - targetNumber3 = "+test3);

결과

profile
I am a Blacksmith.

1개의 댓글

comment-user-thumbnail
2023년 10월 31일

숫자형태의 String 에서 int 변수로 바로 변환할 때 아스키 코드 관련에서 알아야지 -'0' 을 왜 하는지 이해할 수 있는건가요? 왜 -'0'을 하는지를 모르겠네요ㅠㅠ

답글 달기