[프로그래머스/코딩테스트 모음/Javascript] 23

TED·2023년 9월 20일
0

Javascript CodingTest

목록 보기
32/63
post-thumbnail

< 오늘의 문제 >

중복된 문자 제거
모스부호(1)

중복된 문자 제거

function solution(my_string) {
    let newWord = [...new Set(my_string)].join("")
    return newWord;
}
  • 나의 풀이
    : Set으로 중복된 문자를 제거한 새로운 배열을 만든뒤 join으로 다시 문자열로 변화하여 값을 출력.

모스부호 (1)

function solution(letter) {
    const 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'
  };
  // 모스 부호 문자열을 공백으로 나누어 각각의 모스 부호를 배열로 만듭니다.
  const morseCodeArray = letter.split(' ');

  // 각 모스 부호를 해독하여 join을 이용해 문자열로 변환한 후 answer에 추가합니다.
  const answer = morseCodeArray.map(code => morse[code]).join('');

  return answer;
}
  • 나의 풀이
    : 문제를 보면 공백으로 나누었다는말이 있어서 힌트가 되었다. split을 사용하여 공백으로 나눈 값을 만들었고,
    그 값에서 map을 돌려 join으로 문자열 변환하였다.
function solution(letter) {
    let result = letter.split(' ')
    let answer = ''
    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'
}
    for(let i = 0; i<result.length; i++){
        answer += morse[result[i]]
    }
    return answer
}
  • 다른 사람 풀이
    : 나는 사실 이렇게 푸는방법을 원했는데 떠오르질 않았었다. 확실히 for문이 가독성이 더 좋은거같다.
profile
컴맹 개발 입문자

0개의 댓글