๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/10770)
< Rövarspråket >
๋ฌธ์ ํ์ด
์กฐ๊ฑด)
1) ์์์ผ ๊ฒฝ์ฐ
: ์์ ์์ ๊ทธ๋๋ก
: ์์๊ณผ ๊ฐ๊น์ด ๋ชจ์์ ์ฐพ์ ์ถ๊ฐ But ์, ๋ค๋ก ๊ฐ๊น์ด ๋ชจ์์ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ๋ค๋ฉด ์์ ์๋ ๋ชจ์์ ์ถ๊ฐ
: ๋ค์ ์์์ ์ฐพ์ ์ถ๊ฐ (z์ ๋ค์ ์์์ z์ด๋ค)
2) ๋ชจ์์ผ ๊ฒฝ์ฐ
: ๋ชจ์ ์์ ๊ทธ๋๋ก
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class _10770_ { // Rövarspråket
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String str = bf.readLine();
String result = "";
char arr[] = { 'a', 'e', 'i', 'o', 'u' };
for (int i = 0; i < str.length(); i++) {
boolean flag = false;
char x = str.charAt(i);
result += x;
for (int j = 0; j < 5; j++) {
if (x == arr[j]) {
flag = true;
break;
}
}
if (!flag) {
int a = 0, b = 0;
char temp = x;
while (Character.isAlphabetic(temp)) {
temp = (char) (temp - 1);
a += 1;
for (int j = 0; j < 5; j++) {
if (temp == arr[j]) {
flag = true;
break;
}
}
if (flag) {
break;
}
}
if (!flag) {
a = Integer.MAX_VALUE;
}
flag = false;
temp = x;
while (Character.isAlphabetic(temp)) {
temp = (char) (temp + 1);
b += 1;
for (int j = 0; j < 5; j++) {
if (temp == arr[j]) {
flag = true;
break;
}
}
if (flag) {
break;
}
}
if (!flag) {
b = Integer.MAX_VALUE;
}
if (a <= b) {
result += (char) (x - a);
} else {
result += (char) (x + b);
}
temp = x;
if (temp == 'z') {
result += 'z';
} else {
while (Character.isAlphabetic(temp)) {
temp = (char) (temp + 1);
flag = false;
for (int j = 0; j < 5; j++) {
if (temp == arr[j]) {
flag = true;
break;
}
}
if (!flag) {
result += temp;
break;
}
}
}
}
}
System.out.println(result);
}
}
๋ณ์)
str : ์ ๋ ฅ๊ฐ
result : ๊ฒฐ๊ด๊ฐ
arr : ๋ชจ์
flag : ํ๋ณ ์ฌ๋ถ
x : ํ์ฌ ๊ธ์
a, b : ํ์ฌ ์์น์์ ์, ๋ค๋ก ๊ฐ๊น์ด ๋ชจ์ ๊ฑฐ๋ฆฌ
์ ๋ ฅ๊ฐ์ ์ ๋ ฅ๋ฐ๋๋ค. ์ ๋ ฅ๊ฐ์ ์ ์ฒด ํ์ํ๋ฉด์ ๋ค์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
1) ํ์ฌ ๊ธ์ result์ ์ถ๊ฐ
2) ํ์ฌ ๊ธ์๊ฐ ๋ชจ์์ธ์ง ์์์ธ์ง ํ๋ณ ํ ๋ชจ์์ด๋ผ๋ฉด PASS
3) ์์์ด๋ผ๋ฉด ํ์ฌ ๊ธ์์์ ์์ผ๋ก ํ์ํ๋ฉฐ ๋ชจ์ ๊ฑฐ๋ฆฌ ์ฐพ๊ธฐ, ๋ค๋ก ํ์ํ๋ฉฐ ๋ชจ์ ๊ฑฐ๋ฆฌ ์ฐพ๊ธฐ -> ๋ ๊ฐ๊น์ด ์์น์ ๋ชจ์์ result์ ์ถ๊ฐ -> ํ์ฌ ๊ธ์ ๋ค๋ก ํ์ํ๋ฉฐ ๋ค์ ์์์ ์ฐพ์ result์ ์ถ๊ฐ
์ต์ข result๋ฅผ ์ถ๋ ฅํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 6325_Definite Values (1) | 2025.05.19 |
---|---|
[Baekjoon] 21030_Frequent Alphabet (2) | 2025.05.16 |
[Baekjoon] 14472_ไผๆฉในใใผใน (Refreshment Area) (1) | 2025.05.14 |
[Baekjoon] 15464_The Bovine Shuffle (0) | 2025.05.12 |
[Baekjoon] 9626_ํฌ๋ก์ค์๋ ํผ์ฆ (0) | 2025.05.09 |