Tags
- queue
- ๊ต์ฌ
- LV2
- ์๋ฎฌ๋ ์ด์
- ์๋ฃ๊ตฌ์กฐ
- BOJ
- PGM
- ๊ทธ๋ํ ํ์
- ์ํ
- ๊น์ด ์ฐ์ ํ์
- Java
- ๋๋น ์ฐ์ ํ์
- BFS
- DP
- Python
- Study
- ๊ทธ๋ํ ์ด๋ก
- ๋ฌธ์์ด
- greedy
- Dynamic Programming
- CodingTest
- stack
- sort
- ์ ๋ ฌ
- SpringBoot
- Brute Force Algorithm
- dfs
- ๊ตฌํ
- ์ ์๋ก
- ๋ฐฑํธ๋ํน
Archives
๊ธฐ๋ก๋ฐฉ
Lv.1 : ์ซ์ ์ง๊ฟ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- 0~9๋ก ์ด๋ฃจ์์ง ๋ ๋ฌธ์์ด X, Y๊ฐ ์
๋ ฅ๋๋ค.
- X, Y์ ๊ธธ์ด๋ 300๋ง๊น์ง์ด๋ค.
- 0์ผ๋ก ์์ํ์ง ์๋๋ค.
- ๋ ๋ฌธ์์ด์ด ๊ณตํต์ผ๋ก ๊ฐ๊ณ ์๋ ์ซ์๊ฐ๋ฅผ ์ง๊ฟ์ด๋ผ๊ณ ํ๋ค.
- ๋ ๋ฌธ์์ด์ ์ง๊ฟ์ผ๋ก ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ๋ฆฌํดํ๋ค.
- X, Y์ ๊ธธ์ด๊ฐ 300๋ง ๊น์ง ๊ฐ๋ฏ๋ก, split๋ฑ์ผ๋ก ๋ฐฐ์ด์ ์ ์ฅํ๋ฉด ์๊ฐ์ด๊ณผ๊ฐ ๋ ์ ์๋ค.
- ๋จ์ ๋ฐ๋ณต๋ฌธ์ผ๋ก ์ซ์๋ฅผ ์นด์ดํธํด ์ ์ฅํ๋ค.
- ์ง๊ฟ ๋ฌธ์์ด์ ๊ฒฐ๊ณผ ๋ฌธ์์ด๋ก ๋ง๋ ๋ค.
- ๊ฒฐ๊ณผ ๋ฌธ์์ด์ ๊ธธ์ด๋ 300๋ง์ด ๋ ์ ์์ผ๋ฏ๋ก StringBuilder๋ฅผ ์ฌ์ฉํ๋ค.
- ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํดํ๋ค.
- ์ง๊ฟ ๋ฌธ์์ด์ด ์๋ ๊ฒฝ์ฐ๋ "-1"์ ๋ฆฌํดํ๋ค.
- ์ง๊ฟ์ด 0์ผ๋ก๋ง ์ด๋ฃจ์ด์ง ๊ฒฝ์ฐ๋ "0"์ ๋ฆฌํดํ๋ค.
๐ธ ์ฝ๋ ๐ธ
class Solution {
public String solution(String X, String Y) {
StringBuilder sb = new StringBuilder();
int[] numX = new int[10];
int[] numY = new int[10];
for(int i = 0; i < X.length(); i++) {
numX[X.charAt(i)-'0']++;
}
for(int i = 0; i < Y.length(); i++) {
numY[Y.charAt(i)-'0']++;
}
for(int i = 9; i >= 0; i--) {
if (numX[i] > 0 && numY[i] > 0) {
numX[i]--;
numY[i]--;
sb.append(i++);
}
}
if (sb.length() == 0) return "-1";
if(sb.charAt(0) == '0') return "0";
return sb.toString();
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- X์ Y์ ์ซ์๋ค์ numX, numY์ ์ธ๋ฑ์ค๋ก ๋งค์นํด ์นด์ดํธํ๋ค.
- ๋ ๋ฐฐ์ด์ ๊ฐ์ ์ธ๋ฑ์ค์ ๊ฐ์ด ์์ผ๋ฉด ๊ฒฐ๊ณผ ๋ฌธ์์ด์ ๋์ ํ๋ค.
- ๊ฒฐ๊ณผ ๋ฌธ์์ด์ ๋ฆฌํดํ๋ค.
- ๊ฒฐ๊ณผ ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ 0์ด๋ฉด ์ง๊ฟ์ด ์๋ค๋ ๋ง์ด๋ฏ๋ก "-1"์ ๋ฆฌํดํ๋ค.
- ๊ฒฐ๊ณผ ๋ฌธ์์ด์ 0์ด ์ฌ๋ฌ๊ฐ ์ธ๋ฐ ๊ฐ์ด 0์ธ ๊ฒฝ์ฐ, ๊ฐ์ฅ ์ ๋ฌธ์๊ฐ '0'์ด๋ฏ๋ก "0"์ ๋ฆฌํดํ๋ค.
๐ธ end ๐ธ
- ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ๋ฅผ ์ค๋๋ง์ ํ์๋๋, IDE ํ๊ฒฝ์ด ์ ์์๋์ ์ด๋ ค์ ๋ค.
- ์๊ฐ์ด๊ณผ๊ฐ ๊ณ์ ๋ฌ์๋๋ฐ, ์ฌ๋ฌ๊ฐ์ง ์ด์ ๊ฐ ์์๋ค.
- ์ฒ์์ split()์ผ๋ก String ๋ฐฐ์ด๋ก ๋ง๋ค๊ฑฐ๋, toCharArray()๋ก char๋ฐฐ์ด์ ๋ง๋ค์ด ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ทผํ๋๋ฐ, ๋ ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ 300๋ง๊น์ง ๊ฐ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ๋ ์๊ฐ์ด๋ ํฐ์ง๊ฒ๋๋ค.
- ๋ฐฐ์ด ์ธ๋ฑ์ค๋ก ์นด์ดํธํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด ํด๊ฒฐํ๋ค.
- ๋ง์ง๋ง ๊ฒฐ๊ณผ ๋ฌธ์์ด์ด 0์ธ์ง ํ์ธํ๋ ๋ถ๋ถ์์, Integer.parseInt(), Long.parseLong() ๋ชจ๋ ์ฌ์ฉํ ์ ์๋ค.
- new BigInteger(sb.toString()).equals(BigInteger.ZERO) ๋ฅผ ์ฌ์ฉํ๋๋ ์๊ฐ์ด๊ณผ๊ฐ ๋ฌ๋ค.
- ๊ทธ๋ฅ ๊ฒฐ๊ณผ ๋ฌธ์์ด ์ฒ์ ๋ฌธ์๊ฐ '0'์ด๋ฉด ๊ฐ์ด 0์ด์๋ค.
- ์ฒ์์ split()์ผ๋ก String ๋ฐฐ์ด๋ก ๋ง๋ค๊ฑฐ๋, toCharArray()๋ก char๋ฐฐ์ด์ ๋ง๋ค์ด ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ทผํ๋๋ฐ, ๋ ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ 300๋ง๊น์ง ๊ฐ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ๋ ์๊ฐ์ด๋ ํฐ์ง๊ฒ๋๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lv.1 : ์ผ์ด์ฌ (0) | 2023.04.10 |
---|---|
Lv.1 : ์ผ์ด์ฌ (0) | 2023.04.10 |
BOJ_17143 : ๋์์ (0) | 2023.04.07 |
BOJ_16928 : ๋ฑ๊ณผ ์ฌ๋ค๋ฆฌ ๊ฒ์ (0) | 2023.04.07 |
BOJ_17070 : ํ์ดํ ์ฎ๊ธฐ๊ธฐ 1 (0) | 2023.04.07 |