배열 유사도
※풀이
1. s1.length는 문자열 s1의 길이를 나타냅니다.
2. s2.length는 문자열 s2의 길이를 나타냅니다.
3. [...s1, ...s2]는 문자열 s1과 s2의 문자들을 하나의 배열로 합칩니다. 이 때, 스프레드 연산자(...)를 사용하여 문자열을 개별 문자로 분리합니다.
4. new Set([...s1, ...s2])는 중복을 허용하지 않는 유일한 값만을 포함하는 Set 객체를 생성합니다. Set 객체는 중복된 값을 허용하지 않으므로, 중복된 문자들은 제거됩니다.
5. new Set([...s1, ...s2]).size는 Set 객체의 크기, 즉 유일한 문자들의 개수를 반환합니다.
6. s1.length + s2.length - new Set([...s1, ...s2]).size는 두 문자열의 길이를 합한 후, 중복되지 않은 문자들의 개수를 빼서 최종 결과를 반환합니다.
ex1)
{
function solution(s1, s2) {
return s1.length + s2.length - new Set([...s1, ...s2]).size
}
console.log(solution(["a","b","c"], ["com", "b", "d", "p", "c"]));
//2
}
ex2)
{
function solution(s1, s2) {
return s1.length + s2.length - new Set([...s1, ...s2]).size
}
console.log(solution(["n","omg"], ["m", "dot"]));
//0
}
가위 바위 보
※풀이
1. answer 변수는 다음과 같은 키-값 쌍을 가지는 객체입니다: {'0':'5', '2':'0', '5':'2'}. 이 객체는 rsp 문자열의 각 문자에 대해 대응하는 문자를 정의합니다.
2. [...rsp]는 문자열 rsp를 배열로 변환합니다. 스프레드 연산자(...)를 사용하여 문자열을 개별 문자로 분리합니다.
3. .map(v => answer[v])는 배열의 각 요소를 순회하면서 해당 요소에 대응하는 answer 객체의 값을 가져옵니다. 이 때, v는 각 요소를 나타냅니다.
4. .join('')은 배열의 모든 요소를 빈 문자열로 연결하여 하나의 문자열로 만듭니다.
ex1)
{
function solution(rsp) {
var answer = {'0':'5', '2':'0', '5':'2'};
return [...rsp].map(v=>answer[v]).join('')
}
console.log(solution("2"));
//0
}
ex2)
{
function solution(rsp) {
var answer = {'0':'5', '2':'0', '5':'2'};
return [...rsp].map(v=>answer[v]).join('')
}
console.log(solution("205"));
//052
}