Tags
- LV2
- PGM
- ์ํ
- dfs
- ์ ๋ ฌ
- ์ ์๋ก
- ์๋ฃ๊ตฌ์กฐ
- ์๋ฎฌ๋ ์ด์
- ๋ฐฑํธ๋ํน
- SpringBoot
- DP
- Java
- CodingTest
- ๋๋น ์ฐ์ ํ์
- ๊ทธ๋ํ ํ์
- Study
- Brute Force Algorithm
- stack
- ๊น์ด ์ฐ์ ํ์
- ๋ฌธ์์ด
- sort
- ๊ต์ฌ
- BFS
- greedy
- queue
- ๊ตฌํ
- Python
- Dynamic Programming
- BOJ
- ๊ทธ๋ํ ์ด๋ก
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_2596 : ๋น๋ฐํธ์ง ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- 0๋๋ 1๋ก ์ด๋ฃจ์ด์ง ์ซ์๋ฅผ ๋ฌธ์๋ก ๋ณํํ๋ค.
- ๊ฐ๊ฑฐ๋ ์ฐจ์ด๊ฐ 1์ผ๋๋ ๋ณํ ๊ฐ๋ฅํ๋ค
- ์ฐจ์ด๊ฐ 2 ์ด์์ด๋ฉด ๋ณํ ๋ถ๊ฐ๋ฅ ํ๋ค.
- ๋ชจ๋ ๋ณํ ๊ฐ๋ฅํ๋ฉด, ๋ณํํ ๋ฌธ์์ด์ ์ถ๋ ฅ
- ๋ณํ์ด ๋ถ๊ฐ๋ฅํ๋ฉด, ์ฒ์ ๋ถ๊ฐ๋ฅ ํ ๋ฌธ์์ ์์๋ฅผ ์ถ๋ ฅํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main {
private static int unchange(String s) { // ์ซ์ -> ๋ฌธ์ ๋ณํ ๋ฉ์๋
String[] amho = { "000000", "001111", "010011", "011100", "100110", "101001", "110101", "111010" };
int idx = -1; // ๊ธฐ๋ณธ ๊ฐ -1
// ๋ชจ๋ ์ข
๋ฅ์ ์ํธ์ ๋น๊ตํด์ ์ฐจ์ด ์นด์ดํธ
for (int j = 0; j < amho.length; j++) {
int diff_count = 0;
for (int j2 = 0; j2 < 6; j2++) {
if (amho[j].charAt(j2) != s.charAt(j2)) {
diff_count++;
}
}
if (diff_count <= 1) { // ์ฐจ์ด๊ฐ 1์ดํ๋ฉด ์ฐพ์ ๊ฒ
idx = j;
break;
}
}
return idx;
}
public static void main(String[] args) throws FileNotFoundException {
// input
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String numbers = sc.next();
StringBuilder sb = new StringBuilder();
// ์ซ์๋ฅผ ๋ฌธ์๋ก๋ณํ, ๋ณํ ์คํจ ์ ์คํจ์์ ์ถ๋ ฅ ํ ์ข
๋ฃ
for (int i = 0; i < n; i++) {
// ๋ณํ ๊ฐ๋ฅํ ๋ฌธ์์ ์ธ๋ฑ์ค ๋ฐํ
// ๋ณํ ๋ถ๊ฐ ์ -1 ๋ฐํ
int idx = unchange(numbers.substring(i * 6, i * 6 + 6)); // ๋ฌธ์์ด์ 6๊ฐ ๋จ์๋ก ์๋ผ์ ๋ณด๋
if (idx != -1) {
sb.append((char) (idx + 'A'));
} else {
sb = new StringBuilder();
sb.append(i+1);
break;
}
}
System.out.println(sb);
sc.close();
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- main ๋ฉ์๋์์ ์
๋ ฅ๋ ๋ฌธ์์ด์ 6๋ฌธ์ ๋จ์๋ก ์๋ผ unchange() ๋ฉ์๋๋ก ๋ณด๋ด ์ธ๋ฑ์ค๋ฅผ ๋ฐ๋๋ค.
- ์ธ๋ฑ์ค๊ฐ -1์ด๋ฉด ๋ณํ ๋ถ๊ฐ๋ฅ ํ๋ฏ๋ก ํ์ฌ ๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ค.
- ์ธ๋ฑ์ค๊ฐ 0 ์ด์์ด๋ฉด, ๋ฌธ์๋ก ๋ณํํด ์ถ๋ ค์ ํฌํจํ๋ค.
- unchage ํจ์๋ ๋ฌธ์์ด์ ์
๋ ฅ๋ฐ์, ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๋ค.
- 8๊ฐ์ง ๋ฌธ์์ ์ด์ง์ ๋ฌธ์์ด๊ณผ์ ์ฐจ์ด์ ์ด 1์ดํ์ธ ๊ฒฝ์ฐ ๊ทธ ๋ฌธ์์ด์ ๋ฒํธ๋ฅผ ๋ฐํํ๋ค.
- ๋น๊ต๋ฌธ์ ์ ๋ถ ๋์์ด๋ ์ฐจ์ด๊ฐ 2์ด์ ๋ฟ์ด์๋ค๋ฉด ๋ณํ ๋ถ๊ฐ๋ฅ์ด๋ฏ๋ก -1์ ๋ฐํํ๋ค.
๐ธ end ๐ธ
- unchange ๋ฉ์๋๋ฅผ ๋ถ๋ฆฌํด์ ๋ฌธ์ ๋ฅผ ๋ช
ํํ๊ฒ ํ์
ํ ์ ์์๋ ๊ฒ ๊ฐ๋ค.
- ๋ฉ์๋๋ฅผ ๋ถ๋ฆฌํ๊ธฐ ์ ์๋ System.exit(0)์ผ๋ก ์ข ๋ฃ์์ผฐ๋๋ฐ, returnํ์์ด ๋ ๊น๋ํ ๊ฒ ๊ฐ์ ๋ฆฌํฉํ ๋ง ์ฑ๊ณต์ด๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_2667 : ๋จ์ง๋ฒํธ๋ถ์ด๊ธฐ (0) | 2023.01.26 |
---|---|
BOJ_2644 : ์ด์๊ณ์ฐ (0) | 2023.01.26 |
BOJ_9372 : ์๊ทผ์ด์ ์ฌํ (0) | 2023.01.24 |
BOJ_11724 : ์ฐ๊ฒฐ ์์์ ๊ฐ์ (0) | 2023.01.23 |
BOJ_18870 : ์ขํ ์์ถ (0) | 2023.01.23 |