Contents

Develop
2017.06.27 14:38

[coding] Find all anagrams in a string

조회 수 1283 댓글 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. 영어. 반드시 외워야 할 문장 패턴 100개

    Date2023.06.08 CategoryEtc Byhooni Views1353
    Read More
  2. [ios] APNS, Remote Push 사용자가 수신을 동의했는지 확인하기

    Date2018.10.19 CategoryDevelop Byhooni Views1353
    Read More
  3. [js] 문자열에서 숫자만 걸러내기 (jQuery 안쓰고 정규표현식)

    Date2017.12.14 CategoryDevelop Byhooni Views1345
    Read More
  4. [ios] UIWebView를 이용한 로컬 HTML 파일 표시

    Date2015.01.02 CategoryDevelop Byhooni Views1326
    Read More
  5. 사이버보안실무 발표자료 (2017.06.08)

    Date2017.06.05 CategoryDevelop Byhooni Views1325
    Read More
  6. Enable the Develop Menu in Safari

    Date2017.02.07 CategorySystem/OS Byhooni Views1317
    Read More
  7. 원어민이 매일 쓰는 일상표현 150개

    Date2023.09.17 CategoryEtc Byhooni Views1312
    Read More
  8. [ios] Facebook Cache 갱신하는 함수

    Date2017.02.27 CategoryDevelop Byhooni Views1305
    Read More
  9. [android] Calling activity function from separate class

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

    Date2017.04.19 CategoryDevelop Byhooni Views1296
    Read More
  11. [ios] NavigationController 에서 왼쪽(back) 버튼 후킹하기

    Date2015.10.23 CategoryDevelop Byhooni Views1291
    Read More
  12. [coding] Find all anagrams in a string

    Date2017.06.27 CategoryDevelop Byhooni Views1283
    Read More
Board Pagination Prev 1 ... 81 82 83 84 85 86 87 88 89 90 ... 98 Next
/ 98