반응형
n 개의 단어를 순서대로 뒤집는 알고리즘 문제
첫 줄에 자연수 N(3<=N<=20)이 주어집니다.
두 번째 줄부터 N개의 단어가 각 줄에 하나씩 주어집니다. 단어는 영어 알파벳으로만 구성되어 있습니다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
String str[] = new String[a];
for (int i = 0; i < a; i++){
str[i] = sc.next();
}
for (String x : str){
String tmp = new StringBuilder(x).reverse().toString();
System.out.println(tmp);
}
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public 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) {
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.ArrayList;
import java.util.Scanner;
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 tmp = s[lt];
s[lt] = s[rt];
s[rt] = tmp;
lt++;
rt--;
}
String tmp = String.valueOf(s);
answer.add(tmp);
}
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);
}
}
}
Kotlin 문제풀이
import java.util.*
import kotlin.collections.ArrayList
fun main() = with(Scanner(System.`in`.bufferedReader())) {
var n = nextInt()
var str = ArrayList<String>()
repeat(n) {
str.add(next())
}
for (x in str) {
var tmp = x.reversed()
println(tmp)
}
}
import java.util.*
import kotlin.collections.ArrayList
fun main() = with(Scanner(System.`in`.bufferedReader())) {
var n = nextInt()
var str = ArrayList<String>()
repeat(n) {
str.add(next())
}
for (i in word(str)) println(i)
}
fun word(str: ArrayList<String>): List<String> {
var answer = ArrayList<String>()
for (x in str) {
var tmp = x.reversed()
answer.add(tmp)
}
return answer
}
메서드 | 자료형 |
next() | String(스페이스, Enter로 구분) |
nextLine() | String(문자열 1줄) |
repeat - 주어진 함수 동작을 지정된 횟수만큼 실행 합니다.
반응형
'Algorithm > Java알고리즘 문제풀이 & Kotlin' 카테고리의 다른 글
[Algorithm] 중복문자제거 (0) | 2022.12.23 |
---|---|
[Algorithm] 피보나치 수열 (0) | 2022.12.23 |
[Algorithm] 특정 문자 뒤집기 (0) | 2022.12.22 |
[Algorithm] 가위 바위 보 (0) | 2022.12.22 |
[Algorithm] 보이는 학생 (0) | 2022.12.21 |