< 오늘의 문제 >
중복된 문자 제거
모스부호(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(' ');
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문이 가독성이 더 좋은거같다.