Coding Test - Java - Programmers
문자열 돌리기
양세진
2025. 3. 9. 17:41
https://school.programmers.co.kr/learn/courses/30/lessons/181945
문제 설명
문자열 str이 주어집니다.
문자열을 시계방향으로 90도 돌려서 아래 입출력 예와 같이 출력하는 코드를 작성해 보세요.
제한사항
1 ≤ str의 길이 ≤ 10
입출력 예
입력 #1
abcde
출력 #1
a b c d e
그냥 뽑아서 하면되긴하는데
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
int size = a.length();
int startFlag = 0;
String result = "";
while(size > 0){
String res = a.substring(startFlag , ++startFlag);
result = result + res +"\\n";
size--;
}
System.out.print(result);
}
다른사람 풀어놓은거 보니까
charAt 이걸로하는데 자바 3년은 했는데 이걸 몰랏음ㅋㅋ
에초에 이런거 쓸 일이 코테아니면 거의없는거 같아..
charAt 메서드 설명
charAt(int index) 메서드는 문자열(String)에서 특정 위치에 있는 **문자(char)**를 반환합니다.
- 인덱스는 0부터 시작하며, str.charAt(0)은 'a', str.charAt(1)은 'p'가 됩니다.
- 인덱스가 문자열의 길이보다 크거나 작으면 StringIndexOutOfBoundsException이 발생합니다.
기존 코드에서 substring → charAt으로 변경하기
기존 코드는 substring을 사용하여 한 글자씩 추출하고 줄바꿈(\\n)을 추가하고 있습니다.
이를 charAt으로 변경하면 코드가 더 간결해지고 성능도 조금 더 좋아질 수 있습니다.
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
int size = a.length();
StringBuilder result = new StringBuilder();
for (int i = 0; i < size; i++) {
result.append(a.charAt(i)).append("\\n");
}
System.out.print(result.toString());
sc.close();
}
}