๐Ÿ Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Programmers] ๋ชจ์Šค๋ถ€ํ˜ธ(1)(์ž๋ฐ”)

Dhey 2023. 3. 27. 16:13
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

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

morse = { 
    '.-':'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'
}

 

 

์ œํ•œ์‚ฌํ•ญ

  • 1 ≤ letter์˜ ๊ธธ์ด ≤ 1,000
  • return๊ฐ’์€ ์†Œ๋ฌธ์ž์ž…๋‹ˆ๋‹ค.
  • letter์˜ ๋ชจ์Šค๋ถ€ํ˜ธ๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • letter์— ๊ณต๋ฐฑ์€ ์—ฐ์†์œผ๋กœ ๋‘ ๊ฐœ ์ด์ƒ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ํ•ด๋…ํ•  ์ˆ˜ ์—†๋Š” ํŽธ์ง€๋Š” ์ฃผ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ํŽธ์ง€์˜ ์‹œ์ž‘๊ณผ ๋์—๋Š” ๊ณต๋ฐฑ์ด ์—†์Šต๋‹ˆ๋‹ค.

 


์ž…์ถœ๋ ฅ ์˜ˆ

letter result
".... . .-.. .-.. ---" "hello"
".--. -.-- - .... --- -." "python"

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

  ์ž…์ถœ๋ ฅ ์˜ˆ #1

  • .... = h
  • . = e
  • .-.. = l
  • .-.. = l
  • --- = o
  • ๋”ฐ๋ผ์„œ "hello"๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.

  ์ž…์ถœ๋ ฅ ์˜ˆ #2

  • .--. = p
  • -.-- = y
  • - = t
  • .... = h
  • --- = o
  • -. = n
  • ๋”ฐ๋ผ์„œ "python"์„ return ํ•ฉ๋‹ˆ๋‹ค.

 


** a ~ z์— ํ•ด๋‹นํ•˜๋Š” ๋ชจ์Šค๋ถ€ํ˜ธ๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ๋‹ด๊ธด ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.

{".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."}

 

 


 

ํ’€์ด

์ œ์ถœ ์ฝ”๋“œ
class Solution {
    public String solution(String letter) {
        String answer = "";
        //๋งค๊ฐœ๋ณ€์ˆ˜ letter์„ ๊ณต๋ฐฑ(" ")์„ ๊ธฐ์ค€์œผ๋กœ ์ž˜๋ผ์„œ ๋ฐฐ์—ด์— ์ €์žฅ
        String[] mos = letter.split(" ");
        
        for(int i=0; i<mos.length; i++){
            switch(mos[i]){
                case ".-":
                    answer += "a";
                    break;
                case "-...":
                    answer += "b";
                    break;
                case "-.-.":
                    answer += "c";
                    break;
                case "-..":
                    answer += "d";
                    break;
                case ".":
                    answer += "e";
                    break;
                case "..-.":
                    answer += "f";
                    break;
                case "--.":
                    answer += "g";
                    break;
                case "....":
                    answer += "h";
                    break;
                case "..":
                    answer += "i";
                    break;
                case ".---":
                    answer += "j";
                    break;
                case "-.-":
                    answer += "k";
                    break;
                case ".-..":
                    answer += "l";
                    break;
                case "--":
                    answer += "m";
                    break;
                case "-.":
                    answer += "n";
                    break;
                case "---":
                    answer += "o";
                    break;
                case ".--.":
                    answer += "p";
                    break;
                case "--.-":
                    answer += "q";
                    break;
                case ".-.":
                    answer += "r";
                    break;
                case "...":
                    answer += "s";
                    break;
                case "-":
                    answer += "t";
                    break;
                case "..-":
                    answer += "u";
                    break;
                case "...-":
                    answer += "v";
                    break;
                case ".--":
                    answer += "w";
                    break;
                case "-..-":
                    answer += "x";
                    break;
                case "-.--":
                    answer += "y";
                    break;
                case "--..":
                    answer += "z";
                    break;
            }
        }
        return answer;
    }
}

switch๋ฌธ์„ ์‚ฌ์šฉํ•ด a~z๊นŒ์ง€ ํ•ด๋‹นํ•˜๋Š” ๋ชจ์Šค๋ถ€ํ˜ธ์— ๋งž๋Š” case๋ฅผ ์ฃผ์–ด answer ๋ฌธ์ž์—ด์— ์ถ”๊ฐ€๋˜๋„๋ก ํ•˜์˜€๋‹ค.

 

 

 

 

๋ฐ˜์‘ํ˜•