๋šœ๋ถ€๋‹ˆ์˜ Devlog

[Programmers] ๊ตฌ๋ช…๋ณดํŠธ (Java)

by ๋šœ๋ถ€๋‹ˆ

 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ตฌ๋ช…๋ณดํŠธ

๋ฌด์ธ๋„์— ๊ฐ‡ํžŒ ์‚ฌ๋žŒ๋“ค์„ ๊ตฌ๋ช…๋ณดํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌ์ถœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ๋ช…๋ณดํŠธ๋Š” ์ž‘์•„์„œ ํ•œ ๋ฒˆ์— ์ตœ๋Œ€ 2๋ช…์”ฉ ๋ฐ–์— ํƒˆ ์ˆ˜ ์—†๊ณ , ๋ฌด๊ฒŒ ์ œํ•œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ๋žŒ๋“ค์˜ ๋ชธ๋ฌด๊ฒŒ๊ฐ€ [70kg, 50kg, 80kg, 5

programmers.co.kr

 

์ด ๋ฌธ์ œ๋Š” ๋ฌด์ธ๋„์— ๊ฐ‡ํžŒ ์‚ฌ๋žŒ๋“ค์„ ๊ตฌ์ถœํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ œํ•œ๋œ ํฌ๊ธฐ์˜ ๊ตฌ๋ช…๋ณดํŠธ๊ฐ€ ๋ช‡ ๊ฐœ ํ•„์š”ํ•œ์ง€ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ•˜๋‚˜์˜ ๊ตฌ๋ช…๋ณดํŠธ์—๋Š” ์ตœ๋Œ€ 2๋ช…์˜ ์‚ฌ๋žŒ์ด ํƒˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ํ’€๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  1. ๋ชธ๋ฌด๊ฒŒ๊ฐ€ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ๊ณผ ๊ฐ€๋ฒผ์šด ์‚ฌ๋žŒ์˜ ํ•ฉ์ด ๊ตฌ๋ช…๋ณดํŠธ ํฌ๊ธฐ๋ฅผ ๋„˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.
  2. ํ•ฉ์ด ๊ตฌ๋ช…๋ณดํŠธ ๋ฌด๊ฒŒ๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ๋งŒ ํƒœ์›Œ๋ณด๋‚ธ๋‹ค.
  3. ํ•ฉ์ด ๊ตฌ๋ช…๋ณดํŠธ ๋ฌด๊ฒŒ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ๊ฒฝ์šฐ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ๊ณผ ๊ฐ€๋ฒผ์šด ์‚ฌ๋žŒ์„ ํ•จ๊ป˜ ํƒœ์›Œ๋ณด๋‚ธ๋‹ค.
import java.util.*;

class Solution {
    public int solution(int[] people, int limit) {
        int answer = 0;
        int start = 0, end = people.length - 1;
        
        Arrays.sort(people);
        
        while (start <= end) {
            if ((people[start] + people[end]) <= limit) // ํ•ฉ์ด ์ž‘์€ ๊ฒฝ์šฐ, ๋ชธ๋ฌด๊ฒŒ ์ž‘์€ ์‚ฌ๋žŒ ํฐ ์‚ฌ๋žŒ ํ•จ๊ป˜ ํƒœ์›€
                start++;
            end--; // ํ•ฉ์ด ํฐ ๊ฒฝ์šฐ, ๋ชธ๋ฌด๊ฒŒ๊ฐ€ ํฐ ์‚ฌ๋žŒ๋งŒ ํƒœ์›€ => ๋ฌด์กฐ๊ฑด ๋ชธ๋ฌด๊ฒŒ๊ฐ€ ํฐ ์‚ฌ๋žŒ์€ ํƒ€๋Š” ๊ตฌ์กฐ
            answer++; // ๋งค ์ˆ˜ํ–‰๋งˆ๋‹ค ๊ตฌ๋ช…๋ณดํŠธ์— ํƒ€๋Š” ์‚ฌ๋žŒ ์กด์žฌ
        }
        
        return answer;
    }
}

๋ธ”๋กœ๊ทธ์˜ ์ •๋ณด

๋šœ๋ถ€๋‹ˆ์˜ Devlog

๋šœ๋ถ€๋‹ˆ

ํ™œ๋™ํ•˜๊ธฐ