개발자는신이야
The first step
개발자는신이야
전체 방문자
오늘
어제
  • 분류 전체보기 (114)
    • 🍃웹개발 Spring (15)
    • ❓내 질문 (4)
    • 🔥웹개발종합반 (11)
    • 💻개인프로젝트 (5)
    • 😕error (2)
    • 💡알고리즘 (3)
    • 📖혼자공부하는자바 (22)
    • 📑WIL (2)
    • 🥸 CS 면접 스터디 (13)
    • 🤓천재교육 풀스택 1기 노트 (21)
    • ⏰정처기 공부 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • IntelliJ
  • Spring
  • SQL
  • Java
  • CRUD
  • database
  • style
  • 변수
  • Lombok
  • dependencies
  • boot
  • repository
  • JPA
  • HTML
  • API
  • db
  • jquery
  • 기초
  • CSS
  • Controller

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
개발자는신이야

The first step

LV2. 최솟값 만들기 With Java
💡알고리즘

LV2. 최솟값 만들기 With Java

2023. 4. 11. 22:19

문제

접근 방식

  1. 배열A를 내림차순 정렬
  2. 배열B를 오름차순 정렬
  3. 반복문을 통해 A[i] * B[i]를 answer에 +=;

1차 시도

import java.util.Arrays;
import java.util.Collections;

class Solution
{
    public int solution(int []A, int []B)
    {
        int answer = 0;

        Integer[] C = Arrays.stream(A).boxed().toArray(Integer[]::new);
        Arrays.sort(C, Collections.reverseOrder());
        Arrays.sort(B);
        
        for(int i = 0; i < A.length; i++){
            answer += (C[i] * B[i]);
        }

        return answer;
    }
}

접근 방식

  1. 배열A를 stream으로 Integer으로 변경 후 sorts, Collections.reversOrder() 내림차순 정렬
  2. 배열B를 sorts오름차순 정렬
  3. 반복문을 통해 A[i] * B[i]를 answer에 +=;

문제 사항

  1. 정확성에서는 통화했지만 효율성 테스트에서 불합격

2차 시도

import java.util.Arrays;
import java.util.Collections;

class Solution
{
    public int solution(int []A, int []B)
    {
        int answer = 0;

        Arrays.sort(A);
        Arrays.sort(B);
        
        for(int i = 0; i < A.length; i++){
            answer += (A[i] * B[B.length-i-1]);
        }

        return answer;
    }
}
  1. 배열 A를 integer 타입의 배열 C로 치환 후 내림차순을 하는 것에 효율성 문제점을 느낌
  2. A도 B와 같이 오름차순 정렬 후 반복문에서 배열 B를 B.length-i-1으로 오름차순대로 사용함

'💡알고리즘' 카테고리의 다른 글

[프로그래머스/JAVA] Level 2. 숫자의 표  (0) 2023.04.19
[프로그래머스/JAVA] Level 2. 이진 변환 반복하기  (0) 2023.04.19
    '💡알고리즘' 카테고리의 다른 글
    • [프로그래머스/JAVA] Level 2. 숫자의 표
    • [프로그래머스/JAVA] Level 2. 이진 변환 반복하기
    개발자는신이야
    개발자는신이야
    첫발을 내디딘 초보 개발자입니다.

    티스토리툴바