728x90
반응형
[문제]
N개의 단어가 주어지면 각 단어를 뒤집어 출력하는 프로그램을 작성
[입력]
첫 줄에 자연수 N(3<=N<=20)
두 번째 줄부터 N개의 단어가 각 줄에 하나씩, 단어는 영어 알파벳으로만 구성
[출력]
N개의 단어를 입력된 순서대로 한 줄에 하나씩 뒤집어서 출력
[입력 예시]
2
haemo
dev
[출력 예시]
omeah
ved
첫번째 풀이
import java.util.*;
public class Main {
public ArrayList<String> solution(int n, String[] str){
ArrayList<String> answer = new ArrayList<>();
for(String x : str){
String temp = new StringBuilder(x).reverse().toString();
answer.add(temp);
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner sc=new Scanner(System.in);
int n = sc.nextInt();
String[] str = new String[n];
for(int i=0; i<n; i++){
str[i] = sc.next();
}
for(String x : T.solution(n, str)){
System.out.println(x);
}
}
}
두번째 풀이
import java.util.*;
public class Main {
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 temp = s[lt];
s[lt] = s[rt];
s[rt] = temp;
lt++;
rt--;
}
String temp = String.valueOf(s);
answer.add(temp);
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner sc=new Scanner(System.in);
int n = sc.nextInt();
String[] str = new String[n];
for(int i=0; i<n; i++){
str[i] = sc.next();
}
for(String x : T.solution(n, str)){
System.out.println(x);
}
}
}
728x90
반응형
'IT 공부 > 알고리즘' 카테고리의 다른 글
[JAVA] 중복문자 제거하기 (2) | 2024.01.10 |
---|---|
[JAVA] 특정 문자 뒤집기(toCharArray) (0) | 2024.01.10 |
[JAVA] 문장 속 가장 긴 단어 찾기(indexOf, substring) (4) | 2023.12.19 |
[JAVA] 문자열 대소문자 변환하기 (0) | 2023.12.19 |
[JAVA] 포함된 문자 개수 찾기 (0) | 2023.12.19 |
댓글