๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/2757)
< ์์ >
๋ฌธ์ ํ์ด
26์ผ๋ก ๋๋ ๋๋จธ์ง์ ๋ชซ์ ์ฌ์ฉํ์ฌ ๋ต์ ๊ตฌํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class _2757_ { // ์์
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
char alphabet[] = { 'Z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q',
'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y' };
String str = "";
while (!(str = bf.readLine()).equals("R0C0")) {
String arr[] = str.split("R|C");
String temp = "";
int num = Integer.parseInt(arr[2]);
while (num > 0) {
temp += alphabet[(num % 26)];
if (num % 26 == 0) {
num = (num / 26) - 1;
} else {
num /= 26;
}
}
String answer = "";
for (int i = temp.length() - 1; i >= 0; i--) {
answer += temp.charAt(i);
}
answer += arr[1];
bw.write(answer + "\n");
}
bw.flush();
}
}
๋ณ์)
alphabet : ์ํ๋ฒณ ์์๋๋ก ์ ์ฅํ๋ค. (0๋ฒ์งธ๋ z๋ก ์ ์ฅํ๋ค)
str : ์ ๋ ฅ๊ฐ
arr : R๊ณผ C๋ฅผ ๊ธฐ์ค์ผ๋ก ์๋ฅธ ๊ฐ
temp, num : ์ด ๊ฐ์ ๊ตฌํ๊ธฐ ์ํ ๋ณ์
answer : ์คํ๋ ๋์ํธ ์์์์ ์ด๋ฆ
R0C0์ด ์๋ ๋๊น์ง RnCm ํํ๋ก ์ ๋ ฅ๋ฐ์ ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
1) R๊ณผ C๋ฅผ ๊ธฐ์ค์ผ๋ก split ํ ๊ฐ์ arr์ ์ ์ฅ
2) arr[2]๋ฒ์งธ ๊ฐ์ num์ ์ ์ฅํ ํ num์ด 0๋ณด๋ค ํด ๋ ๋ฐ๋ณตํ๋ค. num์ 26์ผ๋ก ๋๋ ๋๋จธ์ง ๊ฐ์ temp์ ์ ์ฅํ๊ณ 26์ผ๋ก ๋๋ ๋ชซ์ num์ ์ ์ฅํ๋ค.
3) answer์ temp ๊ฐ์ ๋ค์ง์ด ์ ์ฅํ ํ arr[1] ๊ฐ์ ์ ์ฅํ๋ค.
์ต์ข answer์ ์ถ๋ ฅํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 3024_๋ง๋ผํค ํฑํํ (0) | 2024.07.17 |
---|---|
[Baekjoon] 10656_์ญ์๋งํ์ด (2) | 2024.07.16 |
[Baekjoon] 28256_์ด์ฝ๋ฆฟ ๋ณด๊ดํจ (1) | 2024.07.12 |
[Baekjoon] 9518_๋ก๋ง ์นดํจ๋ฆญ ๋ฏธ์ฌ (0) | 2024.07.11 |
[Baekjoon] 5637_๊ฐ์ฅ ๊ธด ๋จ์ด (0) | 2024.07.10 |