๊ธฐ๋ก๋ฐฉ

Lv.1 : ์„ฑ๊ฒฉ ์œ ํ˜• ๊ฒ€์‚ฌํ•˜๊ธฐ ๋ณธ๋ฌธ

CodingTest/Java

Lv.1 : ์„ฑ๊ฒฉ ์œ ํ˜• ๊ฒ€์‚ฌํ•˜๊ธฐ

Soom_1n 2022. 8. 18. 23:25

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • ์„ฑ๊ฒฉ์œ ํ˜• ๊ฒ€์‚ฌ์ง€์˜ ์„ ํƒ๋ชฉ๋ก์„ ๋ณด๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
  • survey๋Š” 2๊ธ€์ž ๋ฌธ์ž์—ด์˜ ๋ฐฐ์—ด์ด ์ž…๋ ฅ๋œ๋‹ค.
    • ์•ž ๊ธ€์ž : ๋น„๋™์˜
    • ๋’ท ๊ธ€์ž : ๋™์˜
  • choices๋Š” ์„ ํƒ ํ•ญ๋ชฉ์˜ ๋ฒˆํ˜ธ ๋ฐฐ์—ด์ด ์ž…๋ ฅ๋œ๋‹ค.
    • 1~3 : ๋น„๋™์˜
    • 4 : ์•„๋ฌด๊ฒƒ๋„ ์•„๋‹˜
    • 5~8 : ๋™์˜
  • ๋ฒˆํ˜ธ ๋ฐฐ์—ด์˜ ์ ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ง‘๊ณ„ํ•œ ํ›„ 2๊ธ€์ž ์ค‘ ๋” ํ•ฉ์ด ํฐ ๊ฒƒ์ด ์„ฑ๊ฒฉ์œ ํ˜•์œผ๋กœ ์„ ํƒ๋œ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

import java.util.HashMap;

class Solution {
    public String solution(String[] survey, int[] choices) {
        HashMap<String,Integer> hashmap = new HashMap<>();

        String[] strs = "R T C F J M A N".split(" ");
        for(String c : strs){
            hashmap.put(c, 0);
        }

        for(int i = 0; i < survey.length; i++){
            int point = choices[i];
            String no = survey[i].substring(0,1);
            String yes = survey[i].substring(1);

            if(point < 4){
                hashmap.put(no,hashmap.get(no) + (4-point));
            }
            else if(point > 4){
                hashmap.put(yes,hashmap.get(yes) + (point-4));
            }
        }

        String answer = "";
        System.out.println(hashmap);
        for(int i = 0; i < 8; i+=2){
            if(hashmap.get(strs[i]) > hashmap.get((strs[i+1]))){
                answer += strs[i];
            }
            else if(hashmap.get(strs[i]) < hashmap.get((strs[i+1]))){
                answer += strs[i+1];
            }
            else{
                if(strs[i].charAt(0) > strs[i+1].charAt(0)) answer += strs[i+1];
                else answer += strs[i];
            }
        }

        return answer;
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • ์„ฑ๊ฒฉ์œ ํ˜• R T C F J M A N ์˜ ์ ์ˆ˜๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด ํ•ด์‹œ ๋งต ์ž๋ฃŒํ˜•์„ ์‚ฌ์šฉํ–ˆ๋‹ค.
    • ์ฒ˜์Œ์—” value๋ฅผ 0์œผ๋กœ ๊ฐ๊ฐ ์ดˆ๊ธฐํ™”ํ–ˆ๋‹ค.
  • ๋น„๋™์˜์™€ ๋™์˜๋Š” ๋๋‹จ์œผ๋กœ ๊ฐˆ ์ˆ˜๋ก ์ ์ˆ˜๊ฐ€ ์ปค์ง€๋ฏ€๋กœ, ์ธ๋ฑ์Šค์™€ ์„ ํƒ ๋ฒˆํ˜ธ์˜ ์ฐจ์ด๋กœ ๊ณ„์‚ฐํ–ˆ๋‹ค.
  • ์ง‘๊ณ„๊ฐ€ ๋” ํฐ ์ชฝ์„ ์„ฑ๊ฒฉ์œ ํ˜•์œผ๋กœ ์„ ํƒํ•˜๊ณ , ๋งŒ์•ฝ ๊ฐ™๋‹ค๋ฉด ์„ฑ๊ฒฉ์œ ํ˜• ๊ธ€์ž์˜ ์‚ฌ์ „์ˆœ์„œ๊ฐ€ ๋” ๋น ๋ฅธ ์ชฝ์„ ์ถœ๋ ฅํ•œ๋‹ค.
    • ์‚ฌ์ „์ˆœ์„œ๋Š” charํ˜•์œผ๋กœ ๋ฐ”๊พผ ๋’ค ๋น„๊ตํ–ˆ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ์นด์นด์˜ค ๋ฌธ์ œ๋‹ต๊ฒŒ ์Šคํ† ๋ฆฌ๊ฐ€ ์ฐธ ๊ธธ๊ณ  ์ดํ•ดํ•˜๋Š”๋ฐ ์˜ค๋ž˜๊ฑธ๋ ธ๋‹ค.
  • ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ๋น ๋ฅด๊ฒŒ ํ’€ ์ค„ ์•Œ์•„์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค.
  • ํ•ด์‹œ ๋งต์˜ ์‚ฌ์šฉ์ด ์•„์ง ์ต์ˆ™ํ•˜์ง€๊ฐ€ ์•Š์•„์„œ ๋ฌธ๋ฒ•์„ ์ฐพ์•„๊ฐ€๋ฉฐ ํ’€์ดํ–ˆ๋‹ค.

728x90