Lv 2. 구명보트

2024. 5. 23. 10:23·Algorithm & Data Structures/Programers

 

Greedy 알고리즘을 이용하여 풀 수 있는 문제였다.
처음에는 1에서 최대 50000까지의 루프 탐색을 25000번 해야하나 했지만 
아닌거같아서 중간점을 찾아 중간에서부터 탐색을 진행하여 탐색수를 절반이하로 줄여야 하나 고민했다.
정렬을 하고나니 굳이 중간점을 쓸 필요도 없을것 같아 양 끝에서 
i와 j를 각각 최소값 i 최댓값 j 로 정한다음 i+j 가 limit 이 넘는다면 j 만 -해주고 answer 수 1 증가 
limit 보다 적다면 i는 + j는 - 해주고 answer수 1증가 시켜서 푸는 방법을 고안하였다.

import java.util.*;

class  p구명보트 {
    public int solution(int[] people, int limit) {
        int answer = 0, j = people.length-1;
        Arrays.sort(people);
        for(int i = 0 ; i <= j; j--){
            if(people[i]+people[j] <= limit) i++;
            answer++;
        }
        return answer;
    }
}

 

'Algorithm & Data Structures > Programers' 카테고리의 다른 글

Lv 2. 귤고르기  (0) 2024.05.26
Lv 2. 멀리뛰기  (1) 2024.05.24
Lv 2. 점프와 순간이동  (0) 2024.05.22
Lv 2. 예상대진표  (0) 2024.05.22
Lv 2. N개의 최소공배수  (0) 2024.04.19
'Algorithm & Data Structures/Programers' 카테고리의 다른 글
  • Lv 2. 귤고르기
  • Lv 2. 멀리뛰기
  • Lv 2. 점프와 순간이동
  • Lv 2. 예상대진표
Geisha
Geisha
개발 일기
  • Geisha
    Geisha
    Geisha
  • 전체
    오늘
    어제
    • 분류 전체보기 (326)
      • Algorithm & Data Structures (246)
        • BOJ (104)
        • SWEA (1)
        • Programers (137)
        • Data Structures (3)
      • DB (27)
        • SQL (21)
        • RDBMS (2)
      • Java (1)
        • Class (1)
      • Spring (5)
        • Spring MVC (1)
        • Annotations (1)
      • CS (36)
        • 운영체제 (13)
        • 네트워크 (5)
      • Tool (6)
        • Git (5)
        • AWS (1)
      • Project (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    경로압축
    algorithm
    Union-Find
    프로그래머스
    백준
    스택
    Stack
    투포인터
    unionfind
    dfs
    이분탐색
    BFS
    PriorityQueue
    전위순회
    binarySearch
    dp
    baekjoon
    골드
    백트래킹
    유니온파인드
    알고리즘
    programmers
    Java
    동적계획법
    SQL
    Dijkstra
    DynamicProgramming
    구현
    다익스트라
    후위순회
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Geisha
Lv 2. 구명보트
상단으로

티스토리툴바