김찬진의 개발 블로그
23/01/19 [Inf_0104 단어 뒤집기] 본문
설명
N개의 단어가 주어지면 각 단어를 뒤집어 출력하는 프로그램을 작성하세요.
입력
첫 줄에 자연수 N(3<=N<=20)이 주어집니다.
두 번째 줄부터 N개의 단어가 각 줄에 하나씩 주어집니다. 단어는 영어 알파벳으로만 구성되어 있습니다.
출력
N개의 단어를 입력된 순서대로 한 줄에 하나씩 뒤집어서 출력합니다.
예시 입력 1
3
good
Time
Big
예시 출력 1
doog
emiT
giB
코드: ArrayList 사용
기억할 것
ArrayList add()
StringBuilder reverse(), toString()
package algorithm;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public ArrayList<String> solution(String[] str){
ArrayList<String> al = new ArrayList<>();
for(String s : str){
String tmp = new StringBuilder(s).reverse().toString();
al.add(tmp);
}
return al;
}
public static void main(String[] args) {
Main m = 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 s : m.solution(str)){
System.out.println(s);
}
}
}
코드: 직접 뒤집기
기억할 것
String toCharArray(), String.valueOf(기본형)
ArrayList add()
지네릭
package algorithm;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public ArrayList<String> solution(String[] str){
ArrayList<String> al = new ArrayList<>();
for(String s : str){
char[] ca = s.toCharArray();
int lt = 0;
int rt = ca.length-1;
while(lt < rt){
char tmp = ca[lt];
ca[lt] = ca[rt];
ca[rt] = tmp;
lt++; rt--;
}
String tmp = String.valueOf(ca); // 기본형 -> 문자열
al.add(tmp);
}
return al;
}
public static void main(String[] args) {
Main m = 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 s : m.solution(str)){
System.out.println(s);
}
}
}
'1일1알고 > Java Algorithm' 카테고리의 다른 글
23/01/31 [⭐Inf_0106 중복문자제거] (0) | 2023.01.31 |
---|---|
23/01/31 [Inf_0105 특정 문자 뒤집기] (0) | 2023.01.31 |
23/01/19 [Inf_0103 문장 속 단어] (0) | 2023.01.19 |
23/01/16 [Inf_0102 대소문자 변환] (0) | 2023.01.16 |
22/12/22 [Inf_0101 문자찾기] (0) | 2022.12.23 |
Comments