4. 단어 뒤집기
N개의 단어가 주어지면 각 단어를 뒤집어 출력하는 프로그램
입력) 첫 줄에 자연수 N(3<=N<=20)이 주어집니다. 두 번째 줄부터 N개의 단어가 각 줄에 하나씩 주어집니다.
출력) N개의 단어를 입력된 순서대로 한 줄에 하나씩 뒤집어서 출력합니다.
1. StringBuilder, reverse() 이용
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static ArrayList<String> solution(int n, String[] words) {
ArrayList<String> answer = new ArrayList<>();
for (String x : words) {
String temp = new StringBuilder(x).reverse().toString();
answer.add(temp);
}
return answer;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
String[] words = new String[n];
for (int i=0; i<n; i++) {
words[i] = scanner.next();
}
for (String x : solution(n, words)) {
System.out.println(x);
}
}
}
2. index 이용
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static ArrayList<String> solution(int n, String[] words) {
ArrayList<String> answer = new ArrayList<>();
for (String x : words) {
char[] c = x.toCharArray();
int lt = 0, rt = x.length()-1;
// lt : 가장 왼쪽 문자의 index, rt : 가장 오른쪽 문자의 index
while(lt<rt) {
char temp = c[lt];
c[lt] = c[rt];
c[rt] = temp;
lt++;
rt--;
}
String temp = String.valueOf(c); // char -> String
answer.add(temp);
}
return answer;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
String[] words = new String[n];
for (int i=0; i<n; i++) {
words[i] = scanner.next();
}
for (String x : solution(n, words)) {
System.out.println(x);
}
}
}
3.
import java.util.Scanner;
import java.util.Vector;
public class Main {
public static Vector<String> solution(int n, String[] words) {
Vector<String> answer = new Vector<String>();
for (String x : words) {
String reversed = "";
for (int i=0; i<x.length(); i++) {
char ch = x.charAt(i);
reversed = ch + reversed;
}
answer.add(reversed);
}
return answer;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
String[] words = new String[n]; // 크기가 n인 배열
for (int i=0; i<n; i++) {
String word = scanner.next();
words[i] = word;
}
for (String x : solution(n, words)) {
System.out.println(x);
}
}
}
결과
입력
3
happY
Good
giG
출력
Yppah
dooG
Gig
'알고리즘(Java) > String' 카테고리의 다른 글
[알고리즘]String(문자열) 6. 중복문자 제거 - 문자열이 입력되면 중복된 문자를 제거하고 출력하기 (0) | 2021.07.17 |
---|---|
[알고리즘]String(문자열) 5. 특정 문자 뒤집기 - 영어 알파벳만 뒤집고,특수문자는 자기 자리에 그대로 있는 문자열 만들기 (0) | 2021.07.17 |
[알고리즘]String(문자열) 3.문장 속 단어 - 한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어 출력하기 (0) | 2021.07.16 |
[알고리즘]String(문자열) 2. 대소문자 변환 - 대문자는 소문자로 소문자는 대문자로 변환하기 (0) | 2021.07.15 |
[알고리즘]String(문자열) 1. 문자 찾기 - 입력 받은 문자열에서 특정 문자가 몇 개 존재하는지 알아내기 (0) | 2021.07.15 |
댓글