์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ํญํด99
- Algorithm
- ์ด์ฝํ
- json-server
- ํ๋ก๊ทธ๋๋จธ์ค
- JavaScript
- maeil-mail
- programmers
- ์๋ฐ
- createSlice
- ์ฝ๋ฉํ ์คํธํฉ๊ฒฉ์๋๊ธฐ
- Python
- C++
- redux-toolkit
- ํ ์ฝํ ์ฝ
- ๋ฆฌ์กํธ
- useDispatch
- react-redux
- java
- ์๊ณ ๋ฆฌ์ฆ
- react-router
- ํญํดํ๋ฌ์ค
- axios
- sw expert academy
- ๋งค์ผ๋ฉ์ผ
- react
- redux
- redux-saga
- SW
- Get
- Today
- Total
Binary Journey
[ํ ์ฝํ ์ฝ1.5 1-07] ์งํ ์ ๊ธฐ ๋ณธ๋ฌธ
[ํ ์ฝํ ์ฝ1.5 1-07] ์งํ ์ ๊ธฐ
binaryJournalist 2025. 1. 12. 18:30๐กํ ์ฝํ ์ฝ ์์ฆ 1.5 1ํ ๋ชจ์ off-site ๋ฌธ์ ํ์ด์ ๋๋ค. (2025.01.12)
๋ฌธ์
์ถ์ฒ: ํ๋ก๊ทธ๋๋จธ์ค - PCCE ๊ธฐ์ถ๋ฌธ์ 09. ์งํ ์ ๊ธฐ
๋ด์ฉ
๋ฏผ์๋ ๋ค์ํ ์งํ๋ฅผ ์์งํ๋ ์ทจ๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์งํ๋ง๋ค ํฌ๊ธฐ๊ฐ ๋ฌ๋ผ ์ง๊ฐ์ ๋ฃ์ผ๋ ค๋ฉด ์ฌ๋ฌ ๋ฒ ์ ์ด์ ๋ฃ์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ง๊ฐ์ ํฌ๊ธฐ๊ฐ 30 * 15์ด๊ณ ์งํ์ ํฌ๊ธฐ๊ฐ 26 * 17์ด๋ผ๋ฉด ํ๋ฒ ๋ฐ์ผ๋ก ์ ์ด 13 * 17 ํฌ๊ธฐ๋ก ๋ง๋ ๋ค 90๋ ๋๋ ค์ ์ง๊ฐ์ ๋ฃ์ ์ ์์ต๋๋ค. ์งํ๋ฅผ ์ ์ ๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ท์น์ ์งํต๋๋ค.
- ์งํ๋ฅผ ์ ์ ๋๋ ํญ์ ๊ธธ์ด๊ฐ ๊ธด ์ชฝ์ ๋ฐ์ผ๋ก ์ ์ต๋๋ค.
- ์ ๊ธฐ ์ ๊ธธ์ด๊ฐ ํ์์๋ค๋ฉด ์ ์ ํ ์์์ ์ดํ๋ ๋ฒ๋ฆฝ๋๋ค.
- ์ ํ ์งํ๋ฅผ ๊ทธ๋๋ก ๋๋ 90๋ ๋๋ ค์ ์ง๊ฐ์ ๋ฃ์ ์ ์๋ค๋ฉด ๊ทธ๋ง ์ ์ต๋๋ค.
์ง๊ฐ์ ๊ฐ๋ก, ์ธ๋ก ํฌ๊ธฐ๋ฅผ ๋ด์ ์ ์ ๋ฆฌ์คํธ wallet
๊ณผ ์งํ์ ๊ฐ๋ก, ์ธ๋ก ํฌ๊ธฐ๋ฅผ ๋ด์ ์ ์ ๋ฆฌ์คํธ bill
๊ฐ ์ฃผ์ด์ง ๋, ์ง๊ฐ์ ๋ฃ๊ธฐ ์ํด์ ์งํ๋ฅผ ์ต์ ๋ช ๋ฒ ์ ์ด์ผ ํ๋์ง returnํ๋๋ก solutionํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์งํ๋ฅผ ์ง๊ฐ์ ๋ฃ๊ธฐ ์ํด ์ ์ด์ผ ํ๋ ์ต์ ํ์๋ฅผ ๊ตฌํ๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1. ์งํ๋ฅผ ์ ์ ํ์๋ฅผ ์ ์ฅํ ์ ์ ๋ณ์ answer๋ฅผ ๋ง๋ค๊ณ 0์ ์ ์ฅํฉ๋๋ค.
2. ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํด bill์ ์์ ๊ฐ์ด wallet์ ์์ ๊ฐ ๋ณด๋ค ํฌ๊ฑฐ๋ bill์ ํฐ ๊ฐ์ด wallet์ ํฐ ๊ฐ ๋ณด๋ค ํฐ ๋์ ์๋ ๊ณผ์ ์ ๋ฐ๋ณตํฉ๋๋ค.
2-1. bill[0]์ด bill[1]๋ณด๋ค ํฌ๋ค๋ฉด
bill[0]์ 2๋ก ๋๋๊ณ ๋๋จธ์ง๋ ๋ฒ๋ฆฝ๋๋ค.
2-2. ๊ทธ๋ ์ง ์๋ค๋ฉด
bill[1]์ 2๋ก ๋๋๊ณ ๋๋จธ์ง๋ ๋ฒ๋ฆฝ๋๋ค.
2-3. answer์ 1 ์ฆ๊ฐ์ํต๋๋ค.
3. answer์ returnํฉ๋๋ค.
- ์์ ์์ฌ์ฝ๋์ ์๋๋ฐฉ์์ด ๋ค๋ฅธ ์ฝ๋๋ฅผ ์์ฑํด๋ ์๊ด์์ต๋๋ค.
๊ธฐ๋กํ๊ธฐ
๐ก ์ด๋๊น์ง ์๊ฐํด๋ดค๋์ง ๋จ๊ณ์ ์ผ๋ก ๊ธฐ๋กํด๋ด ๋๋ค.
ํ์ด
ํ์ด ์๊ฐ
์์ ์๊ฐ | ์ข ๋ฃ ์๊ฐ | ์ด ์์ ์๊ฐ |
---|---|---|
13:33 | 13:39๋ถ | 6๋ถ |
๋ฌธ์ ๋ถ์
์ ์ฝ ์ฌํญ ํ์ & ํ ์คํธ ์ผ์ด์ค ์์ฑ
wallet
์ ๊ธธ์ด =bill
์ ๊ธธ์ด = 2- 10 ≤
wallet[0]
,wallet[1]
≤ 100 - 10 ≤
bill[0]
,bill[1]
≤ 2,000
์ ๋ ฅ๊ฐ ๋ถ์
๐ก ์ ๋ ฅ๊ฐ์ ๋ถ์ํ๋ฉด ๋ฌธ์ ์์ ์๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ ์ ์ผ๋ก ํ์ ํ ์ ์์ต๋๋ค.
wallet | bill | result |
---|---|---|
[30, 15] | [26, 17] | 1 |
[50, 50] | [100, 241] | 4 |
์์ฌ ์ฝ๋ ์์ฑ
๐ก ์์ฌ ์ฝ๋๋ ๋์ ์ค์ฌ์ผ๋ก ์์ฑํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
๐ก ์์ฌ ์ฝ๋๋ ๋ฌธ์ ํด๊ฒฐ ์์๋ก ์์ฑํฉ๋๋ค.
๐ก ์์ฌ ์ฝ๋๋ฅผ ์ถฉ๋ถํ ํ ์คํธํด๋ด ๋๋ค.
1. ์งํ๋ฅผ ์ ์ ํ์๋ฅผ ์ ์ฅํ ์ ์ ๋ณ์ answer๋ฅผ ๋ง๋ค๊ณ 0์ ์ ์ฅํฉ๋๋ค.
2. ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํด bill์ ์์ ๊ฐ์ด wallet์ ์์ ๊ฐ ๋ณด๋ค ํฌ๊ฑฐ๋ bill์ ํฐ ๊ฐ์ด wallet์ ํฐ ๊ฐ ๋ณด๋ค ํฐ ๋์ ์๋ ๊ณผ์ ์ ๋ฐ๋ณตํฉ๋๋ค.
2-1. bill[0]์ด bill[1]๋ณด๋ค ํฌ๋ค๋ฉด
bill[0]์ 2๋ก ๋๋๊ณ ๋๋จธ์ง๋ ๋ฒ๋ฆฝ๋๋ค.
2-2. ๊ทธ๋ ์ง ์๋ค๋ฉด
bill[1]์ 2๋ก ๋๋๊ณ ๋๋จธ์ง๋ ๋ฒ๋ฆฝ๋๋ค.
2-3. answer์ 1 ์ฆ๊ฐ์ํต๋๋ค.
3. answer์ returnํฉ๋๋ค.
solution(int[] wallet, int[] bill) {
// 1. ์งํ๋ฅผ ์ ์ ํ์๋ฅผ ์ ์ฅํ ์ ์ ๋ณ์ answer๋ฅผ ๋ง๋ค๊ณ 0์ ์ ์ฅํฉ๋๋ค.
int answer = 0;
// 2. ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํด bill์ ์์ ๊ฐ์ด wallet์ ์์ ๊ฐ ๋ณด๋ค ํฌ๊ฑฐ๋ bill์ ํฐ ๊ฐ์ด wallet์ ํฐ ๊ฐ ๋ณด๋ค ํฐ ๋์ ์๋ ๊ณผ์ ์ ๋ฐ๋ณตํฉ๋๋ค.
while (Math.min(wallet[0], wallet[1]) < Math.min(bill[0], bill[1]) || Math.max(wallet[0], wallet[1]) < Math.max(bill[0], bill[1])) {
if (bill[0] > bill[1]) {
// bill[0]์ด bill[1]๋ณด๋ค ํฌ๋ค๋ฉด bill[0]์ 2๋ก ๋๋๊ณ ๋๋จธ์ง๋ ๋ฒ๋ฆฝ๋๋ค.
bill[0] /= 2;
} else {
// ๊ทธ๋ ์ง ์๋ค๋ฉด bill[1]์ 2๋ก ๋๋๊ณ ๋๋จธ์ง๋ ๋ฒ๋ฆฝ๋๋ค.
bill[1] /= 2;
}
// answer์ 1 ์ฆ๊ฐ์ํต๋๋ค.
answer++;
}
// 3. answer์ returnํฉ๋๋ค.
return answer;
}
๊ตฌํ
class Solution {
public int solution(int[] wallet, int[] bill) {
// 1. ์งํ๋ฅผ ์ ์ ํ์๋ฅผ ์ ์ฅํ ์ ์ ๋ณ์ answer๋ฅผ ๋ง๋ค๊ณ 0์ ์ ์ฅํฉ๋๋ค.
int answer = 0;
// 2. ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํด bill์ ์์ ๊ฐ์ด wallet์ ์์ ๊ฐ ๋ณด๋ค ํฌ๊ฑฐ๋ bill์ ํฐ ๊ฐ์ด wallet์ ํฐ ๊ฐ ๋ณด๋ค ํฐ ๋์ ์๋ ๊ณผ์ ์ ๋ฐ๋ณตํฉ๋๋ค.
while (Math.min(wallet[0], wallet[1]) < Math.min(bill[0], bill[1]) || Math.max(wallet[0], wallet[1]) < Math.max(bill[0], bill[1])) {
if (bill[0] > bill[1]) {
// bill[0]์ด bill[1]๋ณด๋ค ํฌ๋ค๋ฉด bill[0]์ 2๋ก ๋๋๊ณ ๋๋จธ์ง๋ ๋ฒ๋ฆฝ๋๋ค.
bill[0] /= 2;
} else {
// ๊ทธ๋ ์ง ์๋ค๋ฉด bill[1]์ 2๋ก ๋๋๊ณ ๋๋จธ์ง๋ ๋ฒ๋ฆฝ๋๋ค.
bill[1] /= 2;
}
// answer์ 1 ์ฆ๊ฐ์ํต๋๋ค.
answer++;
}
// 3. answer์ returnํฉ๋๋ค.
return answer;
}
}
'Algorithm > ํ ์ฝํ ์ฝ1.5(2025.01)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ ์ฝํ ์ฝ1.5 1-09] ๋ถ๋ ๊ฐ๊ธฐ (0) | 2025.01.14 |
---|---|
[ํ ์ฝํ ์ฝ1.5 1-08] ๊ณต์ (0) | 2025.01.14 |
[ํ ์ฝํ ์ฝ1.5 1-06] ๋๋ค์ ๊ท์น (0) | 2025.01.12 |
[ํ ์ฝํ ์ฝ1.5 1-05] ๋ฒ์ค (0) | 2025.01.12 |
[ํ ์ฝํ ์ฝ1.5 1-04] ์ ๋๋๊ธฐ (0) | 2025.01.12 |