Develop

[프로그래머스] 문자열 돌리기 본문

개인 공부/프로그래머스

[프로그래머스] 문자열 돌리기

개발 기록 2024. 1. 10. 10:40

문제

 

 

내풀이

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        for(int i = 0; i < a.length(); i++){
            System.out.println(a.substring(i,i+1));
        }
    }
}

 

느낀점

substring을 이용하여 문자를 하나씩 들고와서 println으로 출력했다

반복문은 for문을 사용함

어렵다고 생각하지 않았으나 다른 풀이를 보고 charAt 과 toCharArray라는 것을 알게됨

 

다른 풀이1

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        for(int i=0; i<a.length(); i++){
            System.out.println(a.charAt(i));
        }
    }
}

 

느낀점

for문을 사용한 것은 나와 같으나

출력부분에서 charAt이라는 함수를 사용했다

 

String을 이용한 글자를 뽑아내는 방법은 크게 두 가지가 있다

1. charAt 2.substring

substring은 이미 알고 있으니 charAt에 대해 알아보았다

 

charAt : String으로 저장된 문자열 중에서 한 글자만 선택해서 char타입으로 변환해준다

문법 : charAt(가져오고 싶은 문자의 인덱스 번호)

리턴형이 char임으로 주의하자 

 

ex)

String a = "hello";
System.out.print(a.charAt(1));

 

결과 : e

 

 

다른 풀이2

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        for (char ch : a.toCharArray())
            System.out.println(ch);
    }
}

 

느낀점

 

toCharArray() : 문자열을 문자 배열로 바꿔준다

 

배열로 바꿔서 향상된 for문을 사용하는 것이 새로웠고

코드가 간단하고 이해하기도 쉬워서 가장 좋은 코드같다