문제
첫줄에 자연수 N이 주어지고,
두번째 줄 부터 한줄에 하나의 단어가 N개씩 주어질때,
입력된 순서대로 단어의 알파벳을 뒤집어서 출력하세요
예시입력
3
good
Time
Big
예시 출력
doog
emiT
giB
문제 풀이
StringBuilder를 이용한 방법
import java.sql.Array;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Main main = new Main();
Scanner in=new Scanner(System.in);
int n = in.nextInt(); //첫번째 줄의 숫자를 변수에 저장
String[] str = new String[n];//해당 숫자 만큼의 갯수를 가지는 String배열 생성
for(int i=0; i<n; i++) {
str[i] = in.next(); //해당 배열에 입력받은 단어들을 저장
}
for (String x : main.solution(n, str)) {
System.out.println(x); //solution에 배열을 넘기고 받은 배열을 출력
}
return ;
}
public ArrayList<String> solution(int n, String[] str) {
ArrayList<String> answer = new ArrayList<>();
for (String x : str) {
String tmp = new StringBuilder(x).reverse().toString();
answer.add(tmp);
}
return answer;
}
}
Scanner.nextInt()
: 입력받은 숫자를 int형으로 리턴
StringBuilder(String str).reverse()
: str을 StringBuilder클래스로 만들고, 거꾸로 변환시켜 줌
StringBuilder.toString()
: StringBuilder클래스를 String형으로 변환시켜 준다.
직접 바꾸는 방법 (StringBuilder를 사용하지 못할 때)
import java.sql.Array;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Main main = new Main();
Scanner in=new Scanner(System.in);
int n = in.nextInt();
String[] str = new String[n];
for(int i=0; i<n; i++) {
str[i] = in.next();
}
for (String x : main.solution(n, str)) {
System.out.println(x);
}
return ;
}
public ArrayList<String> solution(int n, String[] str) {
ArrayList<String> answer = new ArrayList<>();
for (String x : str) {
char[] s=x.toCharArray();
int lt=0, rt=x.length()-1;
while (lt < rt) {
char tmp=s[lt];
s[lt]=s[rt];
s[rt]=tmp;
lt++;
rt--;
}
String tmp = String.valueOf(s);
answer.add(tmp);
}
return answer;
}
}
String.toCharArray()
: String을 char형 배열로 반환
String.length()
: 스트링의 길이를 구해준다. 1부터 시작한다.
String.valueOf(char[] c)
: char형 배열을 String으로 반환한다.
2023.03.06 - [Language/Java] - StringBuilder란? StringBuilder 사용 방법
참고
이 글은 인프런 강의 김태원님의
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비를 바탕으로 쓴 글입니다.
https://www.inflearn.com/course/자바-알고리즘-문제풀이-코테대비
반응형