๋ฐ์ํ
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;
// 1157 ๋จ์ด ๊ณต๋ถ
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
final String[] word = in.next().toUpperCase().split("");
in.close();
int cnt = 1;
int max = 0;
String c = "";
HashMap<Integer, ArrayList> map = new HashMap<>();
Arrays.sort(word);
for (int i = 0; i < word.length; i++) {
ArrayList<String> cArr = new ArrayList<>();
if (word[i].equals(word.length == i + 1 ? word[i] : word[i + 1])
&& word.length != i + 1) {
cnt++;
}
else {
c = word[i];
ArrayList<String> mapArr = (ArrayList<String>) map.get(cnt);
if (mapArr != null ) {
for (int j = 0; j < mapArr.size(); j++) {
cArr.add(mapArr.get(j));
}
}
cArr.add(c);
map.put(cnt, cArr);
cnt = 1;
}
}
for (Object key : map.keySet().toArray()) {
max = Math.max((int) key, max);
}
ArrayList<String> cArr = map.get(max);
System.out.print(cArr.size() != 1 ? "?" : cArr.get(0));
}
}
- ์
๋ ฅ๋ฐ์ ๊ฐ์ ๋๋ฌธ์ํํ๋ก ๋ฐฐ์ด์ ๋ด์
final String[] word = in.next().toUpperCase().split(""); - ์ ๋ ฌ ํ๋ฉด
Arrays.sort(word);
-> [I, I, I, I, M, P, S, S, S, S] ์ด๋ฐ ํํ๊ฐ ๋ฉ๋๋ค. - for๋ฌธ์ผ๋ก ๋ฐฐ์ด์ ๋๋ ค ์ด์ ๊ฐ๊ณผ ๊ฐ๊ฑฐ๋ ๋ง์ง๋ง์๋ฒ์ด ์๋๋ฉด ๊ฐฏ์๋ฅผ cnt++ ์ฌ๋ฆฝ๋๋ค.
- ๊ฐฏ์๋ฅผ map์ key๋ก, ๋ฌธ์๊ฐ์ arrayList์ ๋ด์์ค๋๋ค.
- ๊ฐฏ์์ธ key์์ ์ต๋๊ฐ์ ์ฐพ์ 1๊ฐ๊ฐ ์๋๋ฉด ?๋ฅผ ์ถ๋ ฅ.
๊ทธ๊ฒ ์๋๋ผ๋ฉด ๊ฐ์ ์ถ๋ ฅํด์ค๋๋ค.
๋ฐ์ํ
'๐ธ Algorithm > ๐ธ ๋ฐฑ์ค BaekJoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค][java][1316][๊ทธ๋ฃน ๋จ์ด ์ฒด์ปค] (0) | 2024.02.13 |
---|---|
[๋ฐฑ์ค][java][2941][ํฌ๋ก์ํฐ์ ์ํ๋ฒณ] (0) | 2024.02.10 |
[๋ฐฑ์ค][java][10988][ํฐ๋ฆฐ๋๋กฌ์ธ์ง ํ์ธํ๊ธฐ] (0) | 2024.02.07 |
[๋ฐฑ์ค][java][2444][๋ณ ์ฐ๊ธฐ - 7] (0) | 2024.02.04 |
[๋ฐฑ์ค][java][3003][ํน, ํธ, ๋ฃฉ, ๋น์, ๋์ดํธ, ํฐ] (0) | 2024.02.03 |