728x90
4. 단어 뒤집기
[설명]
N개의 단어가 주어지면 각 단어를 뒤집어 출력하는 프로그램을 작성하세요.
[입력]
첫 줄에 자연수 N(3<=N<=20)이 주어집니다.
두 번째 줄부터 N개의 단어가 각 줄에 하나씩 주어집니다. 단어는 영어 알파벳으로만 구성되어 있습니다.
[출력]
N개의 단어를 입력된 순서대로 한 줄에 하나씩 뒤집어서 출력합니다.
[예시 입력 1 ]
3
good
Time
Big
[예시 출력 1]
doog
emiT
giB
>>> 1. StringBuilder 를 이용 -> reverse() 로 뒤집기
public static 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;
}
public static void main(String[] args) throws IOException {
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 : solution(n, str)){
System.out.println(x);
}
}
>>> 2. index 번호를 이용해 직접 뒤집기
public static ArrayList<String> solution(int n, String[] str){
ArrayList<String> answer = new ArrayList<>();
for(String x : str){
char[] s = x.toCharArray(); //단어를 갖는 String이 문자배열화 됨
// [] [] [] [] []
// lt rt
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); // valueOf : String화 시켜줌
answer.add(tmp);
}
return answer;
}
public static void main(String[] args) throws IOException {
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 : solution(n, str)){
System.out.println(x);
}
}
728x90
'알고리즘 문제풀이 > Beakjoon' 카테고리의 다른 글
백준 2991. 사나운 개 (JAVA) (0) | 2023.01.31 |
---|---|
[코테/알고리즘] 백준 단계별 학습 방법 (+초보자 추천) (0) | 2022.10.25 |
[자바 알고리즘] String - 문장 속 단어 : 문장 속에서 가장 긴 단어를 출력하기 (0) | 2022.01.24 |
[자바 알고리즘] String - 대소문자 변환 : 대문자는 소문자로 소문자는 대문자로 변환하여 출력 (0) | 2022.01.22 |
[자바 알고리즘] String - 문자열 속에서 문자 찾기 : 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아보기 (0) | 2022.01.22 |