티스토리 뷰
반응형
문제
N개의 단어가 주어지면 각 단어를 뒤집어 출력하는 프로그램을 작성하세요.
입력
첫 줄에 자연수 N(3<=N<=20)이 주어집니다.
두 번째 줄부터 N개의 단어가 각 줄에 하나씩 주어집니다. 단어는 영어 알파벳으로만 구성되어 있습니다.
출력
N개의 단어를 입력된 순서대로 한 줄에 하나씩 뒤집어서 출력합니다.
예시 입력
3
good
Time
Big
예시 출력
doog
emiT
giB
문제 풀이
[첫번째 풀이]
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int count = Integer.parseInt(in.nextLine());
String[] input = new String[count];
for (int i=0; i<count; i++) {
input[i] = in.nextLine();
}
for (int i=0; i<count; i++) {
String result = "";
for (int j=input[i].length()-1; j>=0; j--) {
result += input[i].charAt(j);
}
System.out.println(result);
}
}
}
(Time 157ms / Memory 27MB)
import java.util.Scanner;
public class Main {
public void Solution(String[] input) {
for (int i=0; i<input.length; i++) {
String result = "";
for (int j=input[i].length()-1; j>=0; j--) {
result += input[i].charAt(j);
}
System.out.println(result);
}
}
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int count = Integer.parseInt(in.nextLine());
String[] input = new String[count];
for (int i=0; i<count; i++) {
input[i] = in.nextLine();
}
Main main = new Main();
main.Solution(input);
}
}
(Time 156ms / Memory 27MB)
[두번째 풀이]
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int count = Integer.parseInt(in.nextLine());
String[] input = new String[count];
for (int i=0; i<count; i++) {
input[i] = in.nextLine();
}
for (int i=0; i<count; i++) {
StringBuffer str = new StringBuffer(input[i]);
System.out.println(str.reverse());
}
}
}
(Time 159ms / Memory 27MB)
import java.util.Scanner;
public class Main {
public void Solution(String[] input) {
for (int i=0; i<input.length; i++) {
StringBuffer str = new StringBuffer(input[i]);
System.out.println(str.reverse());
}
}
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int count = Integer.parseInt(in.nextLine());
String[] input = new String[count];
for (int i=0; i<count; i++) {
input[i] = in.nextLine();
}
Main main = new Main();
main.Solution(input);
}
}
(Time 156ms / Memory 27MB)
- 문자열 배열을 이용해 첫번째 받은 int 값만큼 for 문을 돌려 문자를 입력 받는다.
- 첫번째 풀이는 for 문을 이용해 푸는 방법이고, 두번째 풀이는 StringBuffer의 reverse 메소드를 이용해 푸는 방법이다.
반응형
'Java > Coding Test' 카테고리의 다른 글
[코딩테스트] 중복문자제거 (0) | 2022.02.25 |
---|---|
[코딩테스트] 특정 문자 뒤집기 (0) | 2022.02.22 |
[코딩테스트] 문장 속 단어 (0) | 2022.02.22 |
[코딩테스트] 대소문자 변환 (0) | 2022.02.21 |
[코딩테스트] 문자 찾기 (0) | 2022.02.21 |