Contents

Develop
2017.06.27 14:38

[coding] Find all anagrams in a string

조회 수 1136 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

코딩테스트 관련 URL

https://leetcode.com/problems/find-all-anagrams-in-a-string/#/description



# 내가 푼 내용

/**
 * @param {string} s
 * @param {string} p
 * @return {number[]}
 */
var findAnagrams = function(s, p) {
    var res = Array();
    
    if(s.length < p.length){
        return res;
    }
    
    p1 = Array.from(p).sort().join("");
    
    for(var i=0; i<=s.length-p.length; i++){
        var s1 = s.substring(i, p.length + i);
        s1 = Array.from(s1).sort().join("");
        if(s1 == p1){
            res.push(i);
        }
    }
    
    return res;
};

var s = "cbaebabacd";
var p = "abc";
var r = findAnagrams(s, p);

console.log(r);



# 봐도 모르는 넘사벽 정답을 그냥 Javascript로 변경만 한거 ㅋㅋ

/**
 * @param {string} s
 * @param {string} p
 * @return {number[]}
 */
var findAnagrams = function(s, p) {
    var res = Array();
    
    if(s.length < p.length){
        return res;
    }
    
    var hash = new Array(256).fill(0);
    var left = 0;
    var right = 0;
    var count = p.length;
    
    for(var i=0; i<p.length; i++){
	    //hash[p.charCodeAt(i)] = (hash[p.charCodeAt(i)] || 0) + 1;
	    hash[p.charCodeAt(i)]++;
	    console.log("hash["+p.charCodeAt(i)+"] "+hash[p.charCodeAt(i)]);
    }
    
    while(right < s.length){
	    if (hash[s.charCodeAt(right++)]-- >= 1){
		    count--;
	    }
	    
	    if(count == 0){
		    res.push(left);
	    }
	    
	    if(right - left == p.length && hash[s.charCodeAt(left++)]++ >= 0){
		    count++;
	    }
    }
    
    return res;
};

var s = "cbaebabacd";
var p = "abc";
var r = findAnagrams(s, p);

console.log(r);



?

  1. [ios] StoryBoard(xib) 없이 프로젝트 만들기

    Date2015.02.12 CategoryDevelop Byhooni Views1063
    Read More
  2. [ios] 동영상 플레이어 샘플 (for Local File)

    Date2017.02.07 CategoryDevelop Byhooni Views1068
    Read More
  3. [ios] FlckrFeed Example App (Swift)

    Date2016.11.27 CategoryDevelop Byhooni Views1070
    Read More
  4. [js] 문자열에서 숫자만 걸러내기 (jQuery 안쓰고 정규표현식)

    Date2017.12.14 CategoryDevelop Byhooni Views1102
    Read More
  5. [maven] Mac OS에 메이븐(maven) 설치하기

    Date2015.01.21 CategoryDevelop Byhooni Views1104
    Read More
  6. [ios] UIView 계층구조

    Date2015.01.03 CategoryDevelop Byhooni Views1122
    Read More
  7. [coding] Find all anagrams in a string

    Date2017.06.27 CategoryDevelop Byhooni Views1136
    Read More
  8. macOS에 node, npm 설치하기 (homebrew)

    Date2021.11.06 CategoryDevelop Byhooni Views1139
    Read More
  9. GPL, AGPL, MPL,.. 한눈에 보는 오픈소스SW 라이선스

    Date2014.10.14 CategoryDevelop Byhooni Views1146
    Read More
  10. [ios] Objective-C Types & Storage Capacity

    Date2015.07.22 CategoryDevelop Byhooni Views1151
    Read More
  11. [android] Calling activity function from separate class

    Date2016.11.15 CategoryDevelop Byhooni Views1153
    Read More
  12. [ios] Facebook SDK 로그인 설명

    Date2017.04.19 CategoryDevelop Byhooni Views1154
    Read More
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 ... 71 Next
/ 71