[leetcode, JS] 205. Isomorphic Strings

mxxn·2023년 8월 14일
0

leetcode

목록 보기
24/198

문제

문제 링크 : Isomorphic Strings

실패 풀이

/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var isIsomorphic = function(s, t) {
    let sArr = new Array(26).fill(0);
    let tArr = new Array(26).fill(0);
    for(let i=0; i<s.length; i++) {
      const sIdx = s[i].charCodeAt(0) - 97
      const tIdx = t[i].charCodeAt(0) - 97
      sArr[sIdx] += 1
      tArr[tIdx] += 1
    }
    return sArr.filter(el => el !== 0).sort((a,b) => a-b).join('') === tArr.filter(el =>el!==0).sort((a,b) => a-b).join('') ? true : false 
};
  1. 총 알파벳 숫자만 맞으면 될 줄 알았는데, 문제를 잘못 이해

풀이

/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var isIsomorphic = function(s, t) {
    let sStr = ''
    let tStr = ''
    for(let i=0; i<s.length; i++) {
      sStr = s.indexOf(s[i])
      tStr = t.indexOf(t[i])
      if(sStr !== tStr) return false
    }

    return true
};
  1. isomorphic 이여야 하므로 두 string 구조가 동일해야 한다
  2. 그렇기 때문에 s[i]의 indexOf 값과 t[i]의 indexOf 값도 동일해야 한다
  3. 두개 비교하여 return
  • Runtime 58 ms, Memory 41.6 MB
profile
내일도 글쓰기

0개의 댓글