Tags
- DP
- greedy
- dfs
- PGM
- ์๋ฎฌ๋ ์ด์
- ์ํ
- LV2
- stack
- BOJ
- ๊น์ด ์ฐ์ ํ์
- ์ ๋ ฌ
- CodingTest
- Brute Force Algorithm
- ๊ทธ๋ํ ์ด๋ก
- ๋ฐฑํธ๋ํน
- Python
- queue
- ๋๋น ์ฐ์ ํ์
- ๋ฌธ์์ด
- BFS
- ์ ์๋ก
- Java
- ๊ต์ฌ
- ์๋ฃ๊ตฌ์กฐ
- sort
- ๊ทธ๋ํ ํ์
- Study
- SpringBoot
- ๊ตฌํ
- Dynamic Programming
Archives
๊ธฐ๋ก๋ฐฉ
Lv.2 : ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด s์์ 0์ ์ ๊ฑฐํ๊ณ ๊ทธ ๊ฐ์๋ฅผ ๋์ ํ๋ค.
- 1๋ก๋ง ์ด๋ฃจ์ด์ง ์ ๋ฌธ์์ด s`์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ค.
- s`์ ๊ธธ์ด๋ฅผ ๋ค์ 2์ง์๋ก ๋ฐ๊ฟ s๋ก ์ฌ์ฉํ๋ค.
- s๊ฐ "1"์ด ๋ ๋๊น์ง ๋ฐ๋ณตํ๊ณ , ๋ฐ๋ณต ํ์์ ์ ๊ฑฐํ 0์ ์๋ฅผ ๋ฐํํ๋ค.
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- ๋ฌธ์ ๋ถ์์ ๊ทธ๋๋ก ๊ตฌํํ๋ค.
- 0์ ์ ๊ฑฐ์ 2์ง์ ๋ณํ์ ํจ์จ์ ์ผ๋ก ํด์ผํ๋ค.
- s๊ฐ "1"์ด ๋์๋์ง ํ์ธํ๋ ๊ฒ ๋ณด๋ค, ๊ธธ์ด๊ฐ 1์ด ๋์๋์ง ํ์ธํ๋ฉด ํธํ๋ค.
๐ธ ์ฝ๋ ๐ธ
class Solution {
public int[] solution(String s) {
int rm_cnt = 0;
int cnt = 0;
int len = s.length();
while(len > 1) {
s = s.replaceAll("0","");
rm_cnt += len - s.length();
s = Integer.toBinaryString(s.length());
len = s.length();
cnt++;
}
return new int[] {cnt, rm_cnt};
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- rm_cnt๊ฐ 0์ ์ ๊ฑฐํ ๋์ ํ์, cnt๊ฐ ๋ณํ ๊ณผ์ ์ ๋ฐ๋ณตํ ํ์, len์ ๋ฌธ์์ด s์ ๊ธธ์ด์ด๋ค.
- s์์ 0์ ์ ๊ฑฐํ๊ณ ์ค์ด๋ ๊ธธ์ด ๋งํผ rm_cnt์ ๋์ ํ๋ค.
- Integer.toBinaryString() ์ ํตํด 0์ด ์ ๊ฑฐ๋ s์ ๊ธธ์ด๋ฅผ 2์ง์๋ก ๋ณํํ๋ค.
- ์๋ก ์ ์ฅ๋ s์ ๊ธธ์ด๋ฅผ len์ ์ ์ฅํ๋ค.
- ๋ฐ๋ณต ํ์ cnt๋ฅผ +1 ํ๋ค.
- cnt์ rm_cnt๋ฅผ ๋ฐํํ๋ค.
๐ธ end ๐ธ
- ๊ตฌํ ๋ฌธ์ ์ ๊ฐ๊น์ธ ์ ๋๋ก ๋ฌธ์ ์ ์๊ตฌ์ฌํญ์ด ํ์ด์ ์ผ์นํ๋ค.
- int๋ฅผ 2์ง์๋ก ๋ณํํ๋ ๋ฉ์๋ Integer.toBinaryString()์ ์ค๋๋ง์ ์จ๋ด์ ๋ค์ ์ฐพ์๋ณด์์ผ ํ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lv.2 : ๋ค์ ํฐ ์ซ์ (0) | 2023.09.07 |
---|---|
Lv.2 : ์ซ์์ ํํ (0) | 2023.09.07 |
Lv.2 : ์ฌ๋ฐ๋ฅธ ๊ดํธ (0) | 2023.09.05 |
Lv.2 : ์ต์๊ฐ ๋ง๋ค๊ธฐ (0) | 2023.09.05 |
Lv.2 : JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ (0) | 2023.09.05 |