반응형
알파벳만 뒤집힌 문자열 출력하기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
String answer;
char[] s = str.toCharArray();
int lt = 0, rt = str.length() - 1;
while (lt < rt) {
if (!Character.isAlphabetic(s[lt])) lt++;
else if (!Character.isAlphabetic(s[rt])) rt--;
else {
char tmp = s[lt];
s[lt] = s[rt];
s[rt] = tmp;
lt++;
rt--;
}
}
answer = String.valueOf(s);
System.out.println(answer);
}
}
import java.util.Scanner;
public class Main {
public String solution(String str) {
String answer;
char[] s = str.toCharArray();
int lt = 0, rt = str.length() - 1;
while (lt < rt) {
if (!Character.isAlphabetic(s[lt])) lt++;
else if (!Character.isAlphabetic(s[rt])) rt--;
else {
char tmp = s[lt];
s[lt] = s[rt];
s[rt] = tmp;
lt++;
rt--;
}
}
answer = String.valueOf(s);
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println(T.solution(str));
}
}
Kotlin으로 문제풀이
import java.util.*
fun main() = with(Scanner(System.`in`.bufferedReader())) {
var str = next()
println(word(str))
}
fun word(str: String): String {
var answer = " "
var s = str.toCharArray()
var lt = 0
var rt = str.length - 1
while (lt < rt) {
if(!s[lt].isLetter()) lt++
else if (!s[rt].isLetter()) rt--
else {
var tmp = s[lt]
s[lt] = s[rt]
s[rt] = tmp
lt++
rt--
}
}
answer = s.concatToString()
return answer
}
isLetter - 문자가 true이면 문자를 반환 합니다.
concatToString - CharArray의 문자를 문자열로 연결합니다.
반응형
'Algorithm > Java알고리즘 문제풀이 & Kotlin' 카테고리의 다른 글
[Algorithm] 피보나치 수열 (0) | 2022.12.23 |
---|---|
[Algorithm] 단어 뒤집기 (0) | 2022.12.22 |
[Algorithm] 가위 바위 보 (0) | 2022.12.22 |
[Algorithm] 보이는 학생 (0) | 2022.12.21 |
[Algorithm] 큰 수 출력하기 (0) | 2022.09.16 |