학교 1학년 2학기 수행평가에 출제된 코딩테스트 문제입니다.
공부 목적으로 다시 한 번 풀어봅니다!!
❓ 문제 설명
문자열을 입력받아 거꾸로 출력하는 프로그램을 작성하시오.
※ 아래 입출력 예시를 참고하세요!
⚠️ 조건 및 입출력 예시
조건 1. 메서드 length(), charAt()를 필요에 따라 사용한다.
입출력 예시 ▼

✏️ 직접 구현한 코드
import java.util.Scanner;
public class suhaeng10 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("영문자 입력 : ");
String str = sc.nextLine();
char ch[] = new char[str.length()];
for(int i = ch.length-1, j = 0; i >= 0; i--, j++) {
ch[j]= str.charAt(i);
}
System.out.print("변환된 문자 : ");
for(int i = 0; i < ch.length; i++) {
System.out.print(ch[i]);
}
}
}
🗣️ 코드 설명
- 정보를 입력 받기 위해 Scanner을 생성했고, 생성한 Scanner와 nextLine()을 이용해 str에 문자열을 입력받았다.
- 입력 받은 문자열의 길이를 나타내는 length() 메서드를 이용해 문자열을 거꾸로 반전시킬 때 사용할 ch배열의 크기를 정한 후 생성합니다.
- i값이 (ch배열의 크기 -1)부터 0까지 감소하며 반복하는 for문을 만들었다. 그 안에서 str을 charAt() 메서드로 ch배열에 변환하여 넣었다.
- 마지막에 i값이 0부터 (ch배열의 길이-1)까지 증가하며 반복하는 for문을 이용해 값을 출력했다.
⭐ 새로 알게 된 점
- next() 와 nextLine()의 차이
next()는 문자와 문자 사이의 공백을 기준으로 한 단어 또는 한 문장을 입력받고,
nextLine()은 문자 또는 문장 한 라인 전체를 입력받는다.
Scanner을 자주 사용하지만 이런 기초적인 부분을 놓치고 있었다. 앞으로 이 부분을 주의해야겠다.
'코딩테스트 회고록 > 코테_Java' 카테고리의 다른 글
[JAVA] 프로그래머스 - 가까운 수 (0) | 2023.03.11 |
---|---|
[JAVA] 프로그래머스 - 배열 회전시키기 (0) | 2023.03.07 |
[JAVA] 학교 수행평가 코딩테스트 - 정수 5개를 배열에 저장하고 평균 출력하기 (0) | 2023.03.04 |
[JAVA] 프로그래머스 - 진료순서 정하기 (0) | 2023.03.04 |
[JAVA] 프로그래머스 - 문자열 정렬하기 (1) (2) | 2023.03.02 |