코딩테스트/프로그래머스

[프로그래머스] Lv.0 문자열 돌리기(Java)

선SEON 2023. 10. 18. 16:49

1. 문제

2. 제출 답안

import java.util.Scanner;

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

split 메서드로 문자열을 잘라서 list에 집어넣는다.

그리고 하나씩 출력한다.

"" 따옴표 안에는 구분 문자가 들어갈 수도 있다.

 

3. 다른 풀이

 

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 (char ch : a.toCharArray())
            System.out.println(ch);
    }
}
for 구문에서 :(콜론)의 기능은

for(A : B)
for(타입 변수 이름 : 배열이나 컬렉션 이름){
      배열의 길이만큼 반복 실행하고자 하는 명령문;
}

B에서 순차적으로 객체를 꺼내 A에 입력하겠다는 뜻
String.toCharArray() 는 문자열을 한 글자씩 쪼개서
이를 char 타입의 배열에 집어넣어주는 메서드

 

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(int i=0; i<a.length(); i++){
            System.out.println(a.charAt(i));
        }
    }
}
String.charAt(i) 은 이전에도 나왔지만,
String으로 저장된 문자열 중 한 글자만 선택해서 char 타입으로 변환해준다.
i 는 문자열에서 0번째부터 시작된다.