๋ฌธ์
https://www.acmicpc.net/problem/9046
9046๋ฒ: ๋ณตํธํ
์ ๋ ฅ์ T(1 ≤ T ≤ 20)๋ ํ ์คํธ ์ผ์ด์ค๋ก, ์ ๋ ฅ ์ ์ผ ์๋จ์ ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ง๋ค ์๋ฌธ์์ ๊ณต๋ฐฑ์ผ๋ก ์ด๋ฃจ์ด์ง ์์ด ๋ฌธ์ฅ์ด ์ฃผ์ด์ง๋ค. ์ด ๋ฌธ์ฅ์ ๊ธธ์ด๋ ์ ์ด๋ 1์ด์์ด
www.acmicpc.net
ํ์ด
์์ด ์ํ๋ฒณ์ ์ด 26๊ฐ์ด๋ฏ๋ก 26๊ฐ์ ๋ฐฐ์ด์ ์ ์ธํด์ค๋ค.
String์ ํ ๊ธ์์ฉ ์๋ผ์ (int) input.charAt(i)๋ก ์ซ์๋ก ๋ณํํด์ค๋ค.
a๋ 97, b๋ 98, c๋ 99 .... ์ด๋ฏ๋ก
(์ซ์๋ก ๋ณํ) - 97์ ํด์ ๋ฐฐ์ด์ index 0๋ถํฐ ์ฐจ๋ก๋๋ก +1์ ํด์ค๋ค.
๊ทธ๋ฆฌ๊ณ ์ต๋๊ฐ์ ๊ตฌํ๋ค.
๋ค์์ผ๋ก๋ ์ต๋๊ฐ์ด ํ๋์ธ์ง ๊ฒ์ํ๋ค.
ํ๋์ด๋ฉด ๊ทธ ๋ฌธ์์ด์ ์ถ๋ ฅํ๊ณ , ์๋๋ผ๋ฉด ?์ ์ถ๋ ฅํ๋ค.
package algorithm;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
// ํด๋
ํ๋ ํจ์
public char decode(String input) {
int[] number = new int[26]; // ์์ด ์ํ๋ฒณ์ 26๊ฐ
for (int i = 0; i < input.length(); i++) {
char search = input.charAt(i);
if ((int) search != 32) { // ์์คํค์ฝ๋๋ a=97 ์ด๋ฏ๋ก 97๋ฅผ ๋นผ์ ํด๋นํ๋ ๊ฐ์ ํ๋์ฉ ์ฆ๊ฐ์ํจ๋ค.
number[((int) search) - 97]++;
}
}
int check = 0;
int max = 0;
int index = -1;
for (int i = 0; i < number.length; i++) { // ์ต๋๊ฐ๊ณผ ๊ทธ๋์ index๋ฅผ ๊ตฌํ๊ธฐ
if (max < number[i]) {
max = number[i];
index = i;
}
}
for (int i = 0; i < number.length; i++) { // ๋ง์ฝ ์ต๋๊ฐ์ด ์ฌ๋ฌ๊ฐ๋ผ๋ฉด check++๋ฅผ ํด์ฃผ๊ธฐ
if (max == number[i]) {
check++;
}
}
// check=1์ด๋ฉด max๊ฐ 1, ์๋๋ผ๋ฉด 2 ์ด์์ด๋ค.
return check > 1 ? '?' : (char) (index + 97);
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine());
char[] answer = new char[num];
Main m = new Main();
for (int i = 0; i < answer.length; i++) {
String input = br.readLine();
answer[i] = m.decode(input);
}
for (int i = 0; i < answer.length; i++) {
System.out.println(answer[i]);
}
}
}
์ ๋ต
'๐ฐ๐๐๐๐๐๐๐๐ > ๐ฑ๐๐๐๐๐๐๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/Java] ๋ก๋ด ์๋ฎฌ๋ ์ด์ 2174 (1) | 2023.11.26 |
---|---|
[๋ฐฑ์ค/Java] ๋ฑ 10866 (0) | 2023.11.22 |
[๋ฐฑ์ค/Java] ํ์ ํฐ๋จ๋ฆฌ๊ธฐ 2346 (0) | 2023.11.17 |
[๋ฐฑ์ค/Java] ํ 2 18258 (0) | 2023.11.15 |
[๋ฐฑ์ค/Java] ์ฐฝ์๋ง์ 3028 (0) | 2023.11.13 |