์ค๋์ ํ์ต ํค์๋
- ๊ตฌํ
- ์ด๋ถํ์
๋ฌธ์ - ๋น๊ธฐ๋
ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ ๋ฌธ์์ด
ํ์ด
class Solution {
public int solution(String s) {
int answer = 0;
String[] strArr = s.split("");
int idx = 0;
while(idx < s.length()) {
String x = strArr[idx];
int count1 = 0;
int count2 = 0;
for(int i = idx; i < strArr.length; i++) {
if(strArr[i].equals(x)) count1++;
else count2++;
idx++;
if(count1 == count2) {
answer++;
break;
}
// ๋จ์ ์๋ ๋ฐฐ์ด ์ฒ๋ฆฌ
if(count1 != count2 && i == strArr.length - 1) {
answer++;
}
}
}
return answer;
}
}
- ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ๋ฐ๋ผ ๊ทธ๋๋ก ๊ตฌํํ์ต๋๋ค.
๋ฌธ์ - ๋ฏธ๋ค๋ฌ
ํ์ด
import java.util.*;
class Solution {
public long solution(int n, int[] times) {
long answer = 0;
Arrays.sort(times);
long left = 0; // ๊ฐ์ฅ ์ ๊ฒ ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ
long right = (long) times[times.length - 1] * n; // ๊ฐ์ฅ ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ
while (left <= right) {
long mid = (left + right) / 2;
long tmp = 0;
for (int time : times) {
tmp += mid / time; // ๊ฐ ์ฌ์ฌ๊ด์ด ์ฃผ์ด์ง mid ์๊ฐ ๋ด์ ์ฒ๋ฆฌํ ์ ์๋ ์ฌ๋ ์๋ฅผ ํฉ์ฐ
}
if (tmp >= n) {
answer = mid;
right = mid - 1;
} else {
left = mid + 1;
}
}
return answer;
}
}
- ์ ํ ์ฌํญ์ ์ซ์๊ฐ 10์๋ฆฌ๊ฐ ๋์๊ธฐ ๋๋ฌธ์ ํ์์ ๋ฒ์๋ฅผ ์ขํ์ผ๊ฒ ๋ค๊ณ ์๊ฐํ์ต๋๋ค.
- ์ฒ์ ํ์ด ๋, ํ ์คํธ ์ผ์ด์ค๋ฅผ ํต๊ณผํด์ ๋ต์ ์ ์ถํ์ง๋ง, ์๊ฐ ์ด๊ณผ์ ํ ์คํธ ์ผ์ด์ค๊ฐ ์์์ต๋๋ค.
- ํ์ ๋ฒ์๋ฅผ ๋ ์ขํ์ฃผ์ด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ์ง๋ง, ํ์์ ๋ฒ์๋ฅผ ์ขํ๋ ์ฝ๋๋ฅผ ๊ตฌํํ๊ธฐ ์ด๋ ค์ ์ต๋๋ค.
'๐ Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[99ํด๋ฝ ์ฝํ ์คํฐ๋] 8์ผ์ฐจ (4) | 2024.11.04 |
---|---|
[99ํด๋ฝ ์ฝํ ์คํฐ๋] 5์ผ์ฐจ (0) | 2024.11.01 |
[99ํด๋ฝ ์ฝํ ์คํฐ๋] 4์ผ์ฐจ (1) | 2024.10.31 |
[99ํด๋ฝ ์ฝํ ์คํฐ๋] 2์ผ์ฐจ (1) | 2024.10.29 |
[99ํด๋ฝ ์ฝํ ์คํฐ๋] 1์ผ์ฐจ (0) | 2024.10.28 |