우규이인우윀
Eager To Learn 🌌
우규이인우윀
전체 방문자
였늘
μ–΄μ œ

λΈ”λ‘œκ·Έ 메뉴

  • 🏑 ν™ˆ
  • πŸš€ κΉƒν—ˆλΈŒ
  • β›… νƒœκ·Έ ν΄λΌμš°λ“œ
  • λΆ„λ₯˜ 전체보기 (217)
    • πŸ‘¨πŸ»‍πŸ’» PS (170)
      • JAVA (82)
      • MYSQL (1)
      • Docker (2)
      • PYTHON (24)
      • LeetCode 150 (39)
      • Algorithm 기법 (1)
      • 바킹독 (21)
    • λΈ”λ‘œκ·Έ 이사 (0)
    • Error (1)
    • CS (15)
      • DataBase (2)
      • OS (7)
      • Network (1)
      • Spring (1)
      • 자료ꡬ쑰 (3)
      • Java (1)
    • Learned (7)
      • Spring (7)
    • κ°œλ°œμ„œμ  (15)
      • 가상 λ©΄μ ‘ μ‚¬λ‘€λ‘œ λ°°μš°λŠ” λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œ 섀계 기초 (1)
      • 였브젝트 - 쑰영호 (7)
      • μΉœμ ˆν•œ SQL νŠœλ‹ (7)
    • 회고 (2)
hELLO Β· Designed By μ •μƒμš°.
우규이인우윀

Eager To Learn 🌌

πŸ‘¨πŸ»‍πŸ’» PS/JAVA

[JAVA] 2019 카카였 개발자 겨울 인턴십 γ€νŠœν”Œγ€‘

2023. 4. 12. 15:13


λ§΅κ³Ό 리슀트λ₯Ό ν™œμš©ν•΄μ„œ ν’€μ—ˆλ‹€.

 

λ¨Όμ € μ‰½κ²Œ 생각할 수 μžˆλŠ” 아이디어가, νŠΉμ • μˆ«μžκ°€ λ“±μž₯ν•˜λŠ” 횟수λ₯Ό κ΅¬ν•˜κ³  λ“±μž₯을 많이 ν•˜λŠ” μˆœμ„œλ‘œ λ‚˜μ—΄ν•˜λ©΄ 닡이 될 것이닀.

 

"{{2},{2,1},{2,1,3},{2,1,3,4}}"

 

μœ„ 예제λ₯Ό μ˜ˆμ‹œλ‘œ μ„€λͺ…해보겠닀.

 

    int [] result = Arrays.stream(s.replace("{","").replace("}","").split(","))
            .mapToInt(Integer::valueOf)
            .toArray();

μœ„ λ‘œμ§μ„ 톡해

 

[2, 2, 1, 2, 1, 3, 2, 1, 3, 4] μ™€ 같은 int λ°°μ—΄λ‘œ μΆ”μΆœν•  수 μžˆλ‹€.

 

이 배열을 Map을 μ΄μš©ν•΄μ„œ μΉ΄μš΄νŒ…μ„ ν•œλ‹€.

 

        HashMap<Integer,Integer> map = new HashMap<>();
        
        for(int num : result){
            map.put(num,map.getOrDefault(num,0)+1);
        }

{1=3, 2=4, 3=2, 4=1}

그러면 μœ„μ™€ 같은 κ²°κ³Όλ₯Ό 얻을 수 μžˆλ‹€.

 

이제 λ“±μž₯ν•œ μˆœμ„œλŒ€λ‘œ λ‚˜μ—΄ν•˜λŠ” μž‘μ—…μ„ ν•˜λ©΄ λœλ‹€.

 

 

        int[] answer = new int[map.size()];
        
        List<int[]> list = new ArrayList<>();
        
        for(Map.Entry<Integer,Integer> entry : map.entrySet()){
            list.add(new int[]{entry.getKey(),entry.getValue()});
        }
        Collections.sort(list,(a,b)-> b[1]-a[1]);
        
        for(int i=0;i<answer.length;i++){
            answer[i]=list.get(i)[0];
        }

λ¦¬μŠ€νŠΈμ— μΆ”κ°€ν•œ λ’€, λžŒλ‹€μ‹μœΌλ‘œ comparatorλ₯Ό μ •μ˜ν•΄μ„œ 횟수 κΈ°μ€€μœΌλ‘œ λ‚΄λ¦Όμ°¨μˆœ λ˜λ„λ‘ ν•˜μ˜€λ‹€.

 

그리고 μ •λ‹΅ 배열에 μˆœμ„œλŒ€λ‘œ μΆ”κ°€ν•΄μ£Όλ©΄ 끝이닀.

 


μ΅œμ’… μ½”λ“œ

import java.util.*;
class Solution {
    public int[] solution(String s) {
        
        int [] result = Arrays.stream(s.replace("{","").replace("}","").split(","))
            .mapToInt(Integer::valueOf)
            .toArray();
        
        HashMap<Integer,Integer> map = new HashMap<>();
        
        for(int num : result){
            map.put(num,map.getOrDefault(num,0)+1);
        }
        
        int[] answer = new int[map.size()];
        
        List<int[]> list = new ArrayList<>();
        
        for(Map.Entry<Integer,Integer> entry : map.entrySet()){
            list.add(new int[]{entry.getKey(),entry.getValue()});
        }
        Collections.sort(list,(a,b)-> b[1]-a[1]);
        
        for(int i=0;i<answer.length;i++){
            answer[i]=list.get(i)[0];
        }
        
        return answer;
    }
}
    'πŸ‘¨πŸ»‍πŸ’» PS/JAVA' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [JAVA] 2020 카카였 인턴십 【보석 쇼핑】
    • [JAVA] 2021 KAKAO BLIND RECRUITMENT 【메뉴 리뉴얼】
    • [JAVA] 2018 KAKAO BLIND RECRUITMENT γ€μΊμ‹œγ€‘
    • [파이썬 PYTHON] ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ 【삼각 λ‹¬νŒ½μ΄γ€‘
    우규이인우윀
    우규이인우윀
    개발자 κΏˆλ‚˜λ¬΄

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”