문제 설명
문자열 str이 주어집니다.
문자열을 시계방향으로 90도 돌려서 아래 입출력 예와 같이 출력하는 코드를 작성해 보세요.
제한사항
1 ≤ str의 길이 ≤ 10
입출력 예
입력 #1
abcde
출력 #1
a
b
c
d
e
드디어 그동안 외웠던 것들을 써먹을 수 있는 시간이었다
처음에는 문제를 보고 %s \n 이 방법들을 떠올렸으나,
출력을 해보니 String 문자끼리 개행이 되는 것이라 이건 안되는 방법이었다
입력받은 String 문자를 하나하나씩 쪼개야 하는 방법을 떠올리니
charAt()을 사용해야겠다 싶었다
그래서 처음에는
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
char ch = a.charAt();
for(int i=0; i<a.length(); i++) {
System.out.println(ch);
}
}
}
이렇게 했는데 오류가 발생했다.
/Solution.java:7: error: method charAt in class String cannot be applied to given types;
char ch = a.charAt();
→ charAt() 함수에 인덱스를 제공하지 않아서였다!
“그렇다면 for문 안에 넣어야겠군” 이라는 생각을 했어야 했는데… 출력문 안에 a.charAt(i)를 넣을 생각을 못했다ㅠㅠㅠ
그러다 생각해낸게 split()함수였다
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
String[] arr = a.split("");
for(int i=0; i<arr.length; i++) {
System.out.println(arr[i]);
}
}
}
성공!
그리고 다른 사람 답변 보기에서 a.charAt(i)를 출력문 안으로 넣으면 된다는 방법을 깨달았다!
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));
}
}
}
조금 더 꾸준하게 연습해보자 아자아자!
'프로그래머스 > 0단계' 카테고리의 다른 글
문자열 섞기 (0) | 2024.05.21 |
---|---|
문자열 겹쳐쓰기 (0) | 2024.05.18 |
특수문자 출력하기 (0) | 2024.05.15 |
대소문자 바꿔서 출력하기 (0) | 2024.05.14 |
[PCCE 기출문제] 8번 / 창고 정리(나는 디버깅 문제에서 바보가 되는 것 같다) (0) | 2024.05.14 |