[programmers] ๊ตฌ๋ช ๋ณดํธ - Java
๋ฌด์ธ๋์ ๊ฐํ ์ฌ๋๋ค์ ๊ตฌ๋ช
๋ณดํธ๋ก ๊ตฌ์ถํ๋ ๋ฌธ์ ์์๋ ๊ตฌ๋ช
๋ณดํธ์ ๋ฌด๊ฒ ์ ํ๊ณผ ์ฌ๋๋ค์ ๋ชธ๋ฌด๊ฒ๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ์ฌ๋๋ค์ ๋ชธ๋ฌด๊ฒ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ํ, ๊ฐ์ฅ ๊ฐ๋ฒผ์ด ์ฌ๋๊ณผ ๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ์ฌ๋์ ํจ๊ป ๊ณ ๋ คํ์ฌ ๊ตฌ๋ช
๋ณดํธ์ ํ์ธ ์ ์๋์ง ํ์ธํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ํตํด ํ์ํ ๊ตฌ๋ช
๋ณดํธ ๊ฐ์์ ์ต์๊ฐ์ ๊ตฌํ ์ ์์ต๋๋ค.
Mar 02, 2024
๊ตฌ๋ช ๋ณดํธ
๋ฌธ์ ์ค๋ช
๋ฌด์ธ๋์ ๊ฐํ ์ฌ๋๋ค์ ๊ตฌ๋ช
๋ณดํธ๋ฅผ ์ด์ฉํ์ฌ ๊ตฌ์ถํ๋ ค๊ณ ํฉ๋๋ค. ๊ตฌ๋ช
๋ณดํธ๋ ์์์ ํ ๋ฒ์ ์ต๋ 2๋ช
์ฉ ๋ฐ์ ํ ์ ์๊ณ , ๋ฌด๊ฒ ์ ํ๋ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์ฌ๋๋ค์ ๋ชธ๋ฌด๊ฒ๊ฐ [70kg, 50kg, 80kg, 50kg]์ด๊ณ ๊ตฌ๋ช
๋ณดํธ์ ๋ฌด๊ฒ ์ ํ์ด 100kg์ด๋ผ๋ฉด 2๋ฒ์งธ ์ฌ๋๊ณผ 4๋ฒ์งธ ์ฌ๋์ ๊ฐ์ด ํ ์ ์์ง๋ง 1๋ฒ์งธ ์ฌ๋๊ณผ 3๋ฒ์งธ ์ฌ๋์ ๋ฌด๊ฒ์ ํฉ์ 150kg์ด๋ฏ๋ก ๊ตฌ๋ช
๋ณดํธ์ ๋ฌด๊ฒ ์ ํ์ ์ด๊ณผํ์ฌ ๊ฐ์ด ํ ์ ์์ต๋๋ค.
๊ตฌ๋ช
๋ณดํธ๋ฅผ ์ต๋ํ ์ ๊ฒ ์ฌ์ฉํ์ฌ ๋ชจ๋ ์ฌ๋์ ๊ตฌ์ถํ๋ ค๊ณ ํฉ๋๋ค.
์ฌ๋๋ค์ ๋ชธ๋ฌด๊ฒ๋ฅผ ๋ด์ ๋ฐฐ์ด people๊ณผ ๊ตฌ๋ช
๋ณดํธ์ ๋ฌด๊ฒ ์ ํ limit๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋ชจ๋ ์ฌ๋์ ๊ตฌ์ถํ๊ธฐ ์ํด ํ์ํ ๊ตฌ๋ช
๋ณดํธ ๊ฐ์์ ์ต์๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- ๋ฌด์ธ๋์ ๊ฐํ ์ฌ๋์ 1๋ช ์ด์ 50,000๋ช ์ดํ์ ๋๋ค.
- ๊ฐ ์ฌ๋์ ๋ชธ๋ฌด๊ฒ๋ 40kg ์ด์ 240kg ์ดํ์ ๋๋ค.
- ๊ตฌ๋ช ๋ณดํธ์ ๋ฌด๊ฒ ์ ํ์ 40kg ์ด์ 240kg ์ดํ์ ๋๋ค.
- ๊ตฌ๋ช ๋ณดํธ์ ๋ฌด๊ฒ ์ ํ์ ํญ์ ์ฌ๋๋ค์ ๋ชธ๋ฌด๊ฒ ์ค ์ต๋๊ฐ๋ณด๋ค ํฌ๊ฒ ์ฃผ์ด์ง๋ฏ๋ก ์ฌ๋๋ค์ ๊ตฌ์ถํ ์ ์๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
people | limit | return |
[70, 50, 80, 50] | 100 | 3 |
[70, 80, 50] | 100 | 3 |
solution.java
import java.util.Arrays; class Solution { public int solution(int[] people, int limit) { Arrays.sort(people); // ์ฌ๋๋ค์ ๋ชธ๋ฌด๊ฒ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ int answer = 0; int left = 0; // ๊ฐ์ฅ ๊ฐ๋ฒผ์ด ์ฌ๋์ ์ธ๋ฑ์ค int right = people.length - 1; // ๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ์ฌ๋์ ์ธ๋ฑ์ค while (left <= right) { if (people[left] + people[right] <= limit) { left++; // ๊ฐ๋ฒผ์ด ์ฌ๋๊ณผ ๋ฌด๊ฑฐ์ด ์ฌ๋์ด ํจ๊ป ํ ์ ์๋ ๊ฒฝ์ฐ } right--; // ๋ฌด๊ฑฐ์ด ์ฌ๋์ ํญ์ ํ์น answer++; // ๊ตฌ๋ช ๋ณดํธ ํ ๋ ์ถ๊ฐ } return answer; } }
ํต์ฌ ํค์๋
- ์ฒ์ ์ ๊ทผํ๋ ๋ฐฉ์์ ๋ฆฌ์คํธ์ ๋ฐฐ์ด์ ๋ณต์ฌํด์ ์์๋ค์ ํฉ์ด limit๋ณด๋ค ์์ ๊ฒฝ์ฐ ํด๋น ๊ฐ๋ค์ ์ญ์ ํ๋ ๋ฐฉ์์ด์๋ค.
- ์ด ๊ฒฝ์ฐ ๋ฆฌ์คํธ๋ฅผ ์์ ํ๋ ๊ณผ์ ์์ ์ธ๋ฑ์ค์ ๋ณํ๋ก ์ธํด ๋ฐ๋ณต๋ฌธ์ด ์ํ๋๋๋ก ๋์ํ์ง ๋ชปํ๋ค.
- ์์ ํ ์ฝ๋๋ ์ฃผ์ด์ง ์ฌ๋๋ค์ ๋ชธ๋ฌด๊ฒ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ค, ๊ฐ์ฅ ๊ฐ๋ฒผ์ด ์ฌ๋๊ณผ ๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ์ฌ๋์ ํจ๊ป ๊ณ ๋ คํ์ฌ ๊ตฌ๋ช ๋ณดํธ์ ํ์ธ ์ ์๋์ง ํ์ธํ๋ค.
๊ฒฐ๋ก !
ํด๋น ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๋ฐฐ์ด์ ์ ๋ ฌํ ํ ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํด์ ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค๋ ๊ฒ์ ๋ ์ฌ๋ฆฌ๋๋ฐ ์ด๋ ค์์ ๊ฒช์๋ค.
Share article