99클럽 코테 스터디 11일차 TIL /[프로그래머스]가장 큰 수

2024. 8. 1. 23:22·Algorithm/99클럽 코테 스터디
728x90
반응형


💡문제

[level 2] 가장 큰 수 - 42746

문제 링크

성능 요약

메모리: 124 MB, 시간: 215.48 ms

 


🤔접근법

문제 요약

  • 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내는 문제

범위 체크 및 시간복잡도 예상

  • numbers의 길이는 1 이상 100,000 이하
  • numbers의 원소는 0 이상 1,000 이하

풀이법

⭕ 접근 방법. 우선순위 큐

🔑 PriorityQueue를 사용하자!

static PriorityQueue<Integer> *pq* = new PriorityQueue<>((o1, o2) -> {return o2-o1;});

위와 같이 PQ를 사용하여 우선순위 조건을 변경하면 큰 값이 우선이 되도록 qp를 생성할 수 있다.

pq 는 힙으로 구성되어 있기 때문에 시간복잡도는 O(logN)을 가진다.

➡️ 해당 풀이법의 시간 복잡도 : $O(NlogN)$

 


 

🤯FAIL

답을 봐서 문제를 푼 경우

- 두 문자열을 더해서 길이를 같게 만든 후에 우선순위를 비교한다는 아이디어를 떠올리지 못하였다 🤦‍♀️

 


👩‍💻 코드

import java.util.*;

class Solution {
        public String solution(int[] numbers) {
            String nums[] = new String[numbers.length];
            for (int i = 0; i < numbers.length; i++) {
                nums[i] = String.valueOf(numbers[i]);
            }

            Arrays.sort(nums,(o1, o2) -> {
                String s1 = o1 + o2;
                String s2 = o2 + o1;
                return s2.compareTo(s1);
            });

//            System.out.println(Arrays.toString(nums));

            StringBuilder answer = new StringBuilder();
            for (int i = 0; i < nums.length; i++) {
                if(i == 0 && nums[0].equals("0")) return "0";
                answer.append(nums[i]);
            }
            return answer.toString();
        }
}

99클럽 코딩테스트 준비 개발자 취업 항해99 TIL

반응형

'Algorithm > 99클럽 코테 스터디' 카테고리의 다른 글

99클럽 코테 스터디 15일차 TIL /[프로그래머스] 소수찾기  (0) 2024.08.05
99클럽 코테 스터디 13일차 TIL / [프로그래머스] 입국심사  (0) 2024.08.03
99클럽 코테 스터디 10일차 TIL /[백준]최대힙  (0) 2024.07.31
99클럽 코테 스터디 9일차 TIL / [백준] 최소힙  (0) 2024.07.31
99클럽 코테 스터디 8일차 TIL [프로그래머스] 두 큐 합 같게 만들기  (0) 2024.07.29
'Algorithm/99클럽 코테 스터디' 카테고리의 다른 글
  • 99클럽 코테 스터디 15일차 TIL /[프로그래머스] 소수찾기
  • 99클럽 코테 스터디 13일차 TIL / [프로그래머스] 입국심사
  • 99클럽 코테 스터디 10일차 TIL /[백준]최대힙
  • 99클럽 코테 스터디 9일차 TIL / [백준] 최소힙
제가안난데여♪(´ε`*)
제가안난데여♪(´ε`*)
기억의 유한함을 기록의 무한함으로 ✍️ 예비 개발자가 꿈꾸는 공간 여기는 안나의 개발 블로그 💻
  • 제가안난데여♪(´ε`*)
    안나의 전두엽 어딘가 🧠
    제가안난데여♪(´ε`*)
    기억의 유한함을 기록의 무한함으로 ✍️ 예비 개발자가 꿈꾸는 공간 여기는 안나의 개발 블로그 💻
  • 전체
    오늘
    어제
    • 분류 전체보기 (128)
      • 간단하게 한스푼🥄 (1)
      • Programming (56)
        • Spring (16)
        • Vue.js (6)
        • Deep Learning (3)
        • DataBase (5)
        • React (26)
      • DevOps (21)
        • Docker (12)
        • Linux (4)
      • Algorithm (46)
        • 알고리즘 정리 (5)
        • 자료구조 (0)
        • PS - 백준 (28)
        • 99클럽 코테 스터디 (13)
      • Project (0)
        • CampFire (0)
      • 안나의 취뽀일기 (˵ •̀ ᴗ - ˵ ) ✧ (4)
        • SSAFY_9기 (2)
        • SW 부트캠프 (2)
  • 잔디 달력

    «   2026/04   »
    일 월 화 수 목 금 토
    1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30
  • 인기 글

  • 태그

    백준 구현문제
    도커컨테이너
    알고리즘
    Spring
    도커
    stack
    Vue.js
    코딩테스트 준비
    topology sort
    리액트 상태
    java 백준
    항해99
    docker
    백준
    자바
    java stack
    백준 java
    til
    React
    개발자 취업
    김영한
    99클럽
    front-end
    greedy
    linux
    Vue.js 입문하기
    Vue
    springboot
    자바 스택
    java
  • 04-29 01:15
    반응형
  • hELLO· Designed By정상우.v4.10.3
제가안난데여♪(´ε`*)
99클럽 코테 스터디 11일차 TIL /[프로그래머스]가장 큰 수
상단으로

티스토리툴바