Teddy Bear Holding A Heart Balloon [์ž…๋ฌธ] ๋ชจ์Šค๋ถ€ํ˜ธ (1)
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿฅ‡ Coding Test/์˜ค๋‹ต๋…ธํŠธ

[์ž…๋ฌธ] ๋ชจ์Šค๋ถ€ํ˜ธ (1)

https://school.programmers.co.kr/learn/courses/30/lessons/120838

 

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

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

programmers.co.kr

[ ๋ฌธ์ œ์„ค๋ช… ]

๋จธ์“ฑ์ด๋Š” ์นœ๊ตฌ์—๊ฒŒ ๋ชจ์Šค๋ถ€ํ˜ธ๋ฅผ ์ด์šฉํ•œ ํŽธ์ง€๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ์€ ์ฝ์„ ์ˆ˜ ์—†์–ด ์ด๋ฅผ ํ•ด๋…ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด letter๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, letter๋ฅผ ์˜์–ด ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พผ ๋ฌธ์ž์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.
๋ชจ์Šค๋ถ€ํ˜ธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

[ ํ’€์ด๊ณผ์ • ]

import java.util.*;

class Solution {
    public String solution(String letter) {
        String answer = "";
        HashMap<String, String> map = new HashMap<>();
        //haspmap์„ ์–ธ
        String[] str = letter.split(" ");
        //letter ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ์ชผ๊ฐœ์„œ stringํ˜• ๋ฐฐ์—ด์— ๋‹ด์•„์ฃผ๊ธฐ
        
        String[] mos = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};
        //mos๋ถ€ํ˜ธ ๋ฐฐ์—ด๋กœ ์„ ์–ธ
        
        String[] alp = {"a", "b", "c", "d", "e", "f",
            "g", "h", "i", "j", "k", "l",
            "m", "n", "o", "p", "q", "r",
            "s", "t", "u", "v", "w", "x",
            "y", "z"};
        //์•ŒํŒŒ๋ฒณ์†Œ๋ฌธ์ž ๋ฐฐ์—ด๋กœ ์„ ์–ธ
        
        for (int i=0; i<mos.length; i++) { //๋งŒ๋“ค์–ด๋‘” ๋‘ ๋ฐฐ์—ด ์ˆœํšŒํ•˜๋ฉด์„œ
            map.put(mos[i], alp[i]); 
            //hashmap์— key(๋ชจ์Šค๋ถ€ํ˜ธ), value(์•ŒํŒŒ๋ฒณ์†Œ๋ฌธ์ž)๋กœ ๋„ฃ์–ด์คŒ
        }
        
        for (int i=0; i<str.length; i++) { //str๋ฐฐ์—ด ์ˆœํšŒํ•˜๋ฉด์„œ
            answer += map.get(str[i]); //key(๋ชจ์Šค๋ถ€ํ˜ธ)์— ํ•ด๋‹นํ•˜๋Š” value(์•ŒํŒŒ๋ฒณ์†Œ๋ฌธ์ž) ๋ฐ˜ํ™˜
        }
        return answer;
    }
}

[ ๋‹ค๋ฅธํ’€์ด ]

import java.util.*;
class Solution {
    public String solution(String letter) {
        String answer = "";
        String[] morse = {".-","-...","-.-.","-..",".","..-.","--.","....","..",
                ".---","-.-",".-..","--","-.","---",".--.","--.-",".-.",
                "...","-","..-","...-",".--","-..-","-.--","--.."};

        Map<String, Character> map = new HashMap<>();
        for(int i=0; i< morse.length; i++) 
            map.put(morse[i], (char)(97+i));
            //๋ฐฐ์—ด ์ธ๋ฑ์Šค+์•„์Šคํ‚ค์ฝ”๋“œ ์ด์šฉํ•˜์—ฌ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ

        String[] words = letter.split(" ");
        for(String x :words) 
            answer += map.get(x);

        return answer;
    }
}

[ ๋ฌธ๋ฒ•์ •๋ฆฌ ]

1. ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž, ์†Œ๋ฌธ์ž ์•„์Šคํ‚ค์ฝ”๋“œ 
A~Z 65~90
a~z 97~122