์šฐ๊ทœ์ด์ธ์šฐ์œค
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] 2018 KAKAO BLIND RECRUITMENT ใ€๋‰ด์Šค ํด๋Ÿฌ์Šคํ„ฐ๋งใ€‘

2023. 4. 15. 19:46


์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์„ ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง€๋Š” ์กฐํ•ฉ์„ ๋งŒ๋“ค์–ด์„œ Map์— ๊ฐœ์ˆ˜์™€ ๊ธฐ๋กํ•œ๋‹ค.

(์˜ˆ์‹œ,["fr":2,"re":1,....]) 

 

๋‘ ๋ฌธ์ž์—ด์„ ์กฐํ•ฉ๋ณ„ ๊ฐฏ์ˆ˜๋ฅผ ๊ธฐ๋กํ•œ Map์„ ์ด์šฉํ•ด์„œ ๊ต์ง‘ํ•ฉ ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.

๊ต์ง‘ํ•ฉ์ˆ˜๋Š” ์ค‘๋ณต๋„ ํ—ˆ์šฉํ•˜๋ฏ€๋กœ, ๊ฐ Map์— ๊ธฐ๋ก๋˜์–ด์žˆ๋Š” ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์œผ๋กœ ๊ธฐ๋กํ•œ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  (ํ•ฉ์ง‘ํ•ฉ ์ˆ˜ - ๊ต์ง‘ํ•ฉ์ˆ˜)๊ฐ€ ๋ถ„๋ชจ, ๊ต์ง‘ํ•ฉ ์ˆ˜๊ฐ€ ๋ถ„์ž๊ฐ€ ๋˜์–ด ๋‹ต์„ ๊ตฌํ•œ๋‹ค.

 


import java.util.*;
class Solution {
    HashMap<String,Integer> mapA;
    HashMap<String,Integer> mapB;
    public int solution(String str1, String str2) {
        int answer = 0;
        mapA = new HashMap<>();
        mapB = new HashMap<>();
        
        getCombination(mapA,str1.toLowerCase());
        getCombination(mapB,str2.toLowerCase());

        int inter = getInter();
        int total = getTotal();
        
        if(total==0){
            return 65536;
        }
        answer = (int)Math.floor((double)inter/(total-inter)*65536);
        return answer;
    }
    
    int getTotal(){
        int total = 0;
        for(Integer value : mapA.values()){
            total+=value;
        }
        for(Integer value : mapB.values()){
            total+=value;
        }
        return total;
    }

    int getInter(){
        int result = 0;
        for(Map.Entry<String,Integer> entry : mapA.entrySet()){
            String text = entry.getKey();
            int num1 = entry.getValue();
            if(mapB.containsKey(text)){
                result += Math.min(num1,mapB.get(text));
            }
        }
        return result;
    }
    
    void getCombination(HashMap<String,Integer> map,String str){
        char[] arr = str.toCharArray();
        for(int i=0;i<arr.length-1;i++){
            if(isAlpha(arr[i]) && isAlpha(arr[i+1])){
                String text = String.format("%s%s",arr[i],arr[i+1]);
                map.put(text,map.getOrDefault(text,0)+1);
            }
        }
    }
    
    boolean isAlpha(char ch){
        if('a'<=ch && ch<='z'){
            return true;
        }
        return false;
    }
}
    '๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS/JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [JAVA] 2018 KAKAO BLIND RECRUITMENTใ€์••์ถ•ใ€‘
    • [JAVA] 2022 KAKAO BLIND RECRUITMENTใ€k์ง„์ˆ˜์—์„œ ์†Œ์ˆ˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐใ€‘
    • [JAVA] 2022 KAKAO TECH INTERNSHIP ใ€๋‘ ํ ํ•ฉ ๊ฐ™๊ฒŒ ๋งŒ๋“ค๊ธฐใ€‘
    • [JAVA] 2020 ์นด์นด์˜ค ์ธํ„ด์‹ญ ใ€๋ณด์„ ์‡ผํ•‘ใ€‘
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ๊ฐœ๋ฐœ์ž ๊ฟˆ๋‚˜๋ฌด

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”