Lv 2. 시소 짝궁

2024. 8. 8. 00:42·Algorithm & Data Structures/Programers

 

코드 흐름

  •  weight을 정렬하여 낮은것 부터 차례대로 확인한다.
  • foreach문을 통해 weights 에 담긴 무게들을 하나하나 낮은것부터 확인한다.
  • a, b, c, d 즉 100이 들어오면 시소 짝궁을 이룰 수 있는 숫자들을 모두 만들어 둔다.
  • 만약 a,b,c,d가 map에 존재한다면 그 갯수를 answer에 더한다.
  • 이후 i 를 확인했으므로 map에 getOrDefault 문을 사용하여 i무게의 갯수를 적어둔다.

 

import java.util.*;
class Solution {
    public long solution(int[] weights) {
        long answer = 0;
        Arrays.sort(weights);
        Map<Double,Integer> map = new HashMap<>();
        for(int i : weights){
            double a = i * 1.0;
            double b = (i * 2.0) / 3.0;
            double c = i / 2.0;
            double d = (i * 3.0) / 4.0;
            if(map.containsKey(a)) answer+= map.get(a);
            if(map.containsKey(b)) answer+= map.get(b);
            if(map.containsKey(c)) answer+= map.get(c);
            if(map.containsKey(d)) answer+= map.get(d);
            map.put((i*1.0),map.getOrDefault((i*1.0),0)+1);
        }
        return answer;
    }
}

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

Lv 2. 메뉴 리뉴얼  (0) 2024.08.11
Lv 2. 호텔 대실  (0) 2024.08.09
Lv 2. 마법의 엘리베이터  (1) 2024.08.06
Lv 2. 연속된 부분수열의 합  (0) 2024.08.04
Lv 2. 큰 수 만들기  (0) 2024.08.03
'Algorithm & Data Structures/Programers' 카테고리의 다른 글
  • Lv 2. 메뉴 리뉴얼
  • Lv 2. 호텔 대실
  • Lv 2. 마법의 엘리베이터
  • Lv 2. 연속된 부분수열의 합
Geisha
Geisha
개발 일기
  • Geisha
    Geisha
    Geisha
  • 전체
    오늘
    어제
    • 분류 전체보기 (343)
      • Algorithm & Data Structures (261)
        • BOJ (119)
        • SWEA (1)
        • Programers (137)
        • Data Structures (3)
      • DB (29)
        • SQL (23)
        • 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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Geisha
Lv 2. 시소 짝궁
상단으로

티스토리툴바