Tags
- stack
- ์ ์๋ก
- BFS
- ๋ฐฑํธ๋ํน
- Java
- Brute Force Algorithm
- SpringBoot
- PGM
- ์ํ
- ๊ตฌํ
- ์ ๋ ฌ
- ๊ทธ๋ํ ํ์
- sort
- ์๋ฃ๊ตฌ์กฐ
- DP
- CodingTest
- ๋ฌธ์์ด
- ๊ทธ๋ํ ์ด๋ก
- queue
- ์๋ฎฌ๋ ์ด์
- ๋๋น ์ฐ์ ํ์
- Dynamic Programming
- ๊น์ด ์ฐ์ ํ์
- greedy
- ๊ต์ฌ
- BOJ
- Python
- Study
- LV2
- dfs
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1213 : ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์ฃผ์ด์ง ๋ฌธ์์ด์ ํฐ๋ฆฐ๋๋กฌ์ผ๋ก ๋ฐ๊พผ๋ค. ํฐ๋ฆฐ๋๋กฌ์ ๋ฐ์นผ์ฝ๋ง๋ ๋ฌธ์์ด์ด๋ค.
- ๋ฌธ์์ด์ ๋ฌธ์ ์ข ๋ฅ ์ค ํ์ ๊ฐ๊ฐ 1๊ฐ๋ง ์์ด์ผ ํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String hansu = sc.next();
int[] alpha = new int[26];
for (int i = 0; i < hansu.length(); i++) {
alpha[hansu.charAt(i) - 'A']++;
}
int hol_idx = -1;
for (int i = 0; i < 26; i++) {
if (alpha[i] % 2 != 0) {
if (hol_idx == -1)
hol_idx = i;
else {
System.out.println("I'm Sorry Hansoo");
System.exit(0);
}
}
}
String answer = "";
for (int i = 0; i < 26; i++) {
if ((i != hol_idx && alpha[i] > 0) || (i == hol_idx && alpha[i] > 2)) {
for (int j = 0; j < alpha[i]/2; j++) {
answer += (char)('A' + i);
}
alpha[i] -= alpha[i]/2;
}
}
if (hol_idx != -1) {
alpha[hol_idx]--;
answer += (char) ('A' + hol_idx);
}
for (int i = 25; i >= 0; i--) {
if (alpha[i] > 0) {
for (int j = 0; j < alpha[i]; j++) {
answer += (char)('A' + i);
}
}
}
System.out.println(answer);
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์ ๋ ฅ๋ ๋ฌธ์์ด์ ๋ฌธ์๋ค์ A~Z๋ฅผ 0~25๋ก ๋ฐ๊ฟ alpha๋ฐฐ์ด์ ์นด์ดํธํ๋ค.
- alpha์์ ํ์๊ฐ ์ธ๋ฑ์ค๋ฅผ hol_idx์ ์ ์ฅํ๋ค.
- ํ์๊ฐ ์ธ๋ฑ์ค๊ฐ 2๊ฐ ์ด์์ด๋ฉด ํฐ๋ฆฐ๋๋กฌ์ด ๋ ์ ์์ผ๋ฏ๋ก ์ฌ๊ณผ๋ฌธ์ ์ถ๋ ฅํ๊ณ ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํ๋ค.
- ์ฌ์ ์์ผ๋ก ์ถ๋ ฅํ๋ผ๊ณ ํ์ผ๋ ์ ๋ต์ ์ธ ๋ถ๋ถ์ผ๋ก ๋๋์ด ์ถ๋ ฅํ๋ค.
- ํฐ๋ฆฐ๋๋กฌ์ ์ ๋ถ๋ถ์ ๋ง๋ ๋ค.
- hol_idx๊ฐ ์๋๋ฉด์ alpha์ ๊ฐ์ด ๋จ์๊ฑฐ๋, hol_idx๋ฉด์ 2์ด์์ด๋ฉด ๊ทธ ์ ๋ฐ๋งํผ ์ ๋ต์ ์ถ๊ฐํ๋ค.
- alpha๊ฐ์ 2๋ก๋๋ ๋ชซ์ผ๋ก ์ ์ฅํ๋ค.
- ํฐ๋ฆฐ๋๋กฌ์ ์ค๊ฐ ๋ถ๋ถ์ ๋ง๋ ๋ค.
- ํ์๊ฐ ์ธ๋ฑ์ค๊ฐ ์์๋ค๋ฉด, ์ ๋ต์ ์ถ๊ฐํ๋ค.
- ํฐ๋ฆฐ๋๋กฌ์ ๋ท ๋ถ๋ถ์ ๋ง๋ ๋ค.
- ๋จ์ alpha์ ๊ฐ์ ์์๋๋ก ์ ๋ต์ ์ถ๊ฐํ๋ค.
- ํฐ๋ฆฐ๋๋กฌ์ ์ ๋ถ๋ถ์ ๋ง๋ ๋ค.
- ์ ๋ต ๋ฌธ์์ด answer์ ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ๋ค ํ๊ณ ๋ณด๋ ๊ฐ๋ ์ ๊ทธ๋ ๊ฒ ์ด๋ ต์ง ์์๋๋ฐ, ํฐ๋ฆฐ๋๋กฌ์ ์์ฑํ ๋ ์ ๋ถ๋ถ๊ณผ ๋ท ๋ถ๋ถ์ ์กฐ๊ฑด์ด ์กฐ๊ธ์ฉ ๋ค๋ฅธ๊ฒ ํ๋ค๊ฒํ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_2407 : ์กฐํฉ (0) | 2023.01.10 |
---|---|
BOJ_10974 : ๋ชจ๋ ์์ด (0) | 2023.01.10 |
BOJ_1183 : ์ฝ์ (0) | 2023.01.09 |
BOJ_1166 : ์ ๋ฌผ (0) | 2023.01.06 |
BOJ_1072 : ๊ฒ์ (0) | 2023.01.04 |