- strstr
- 2019
- two-sum
- 동시성 프로그래밍
- 병렬프로그래밍
- 개발자로드맵
- longest substring
- Parallelism
- leetcode
- concurrency vs parallelism
- Today
- Total
목록알고리즘 (3)
노력만이 살길
오늘의 풀어볼 문제는 "문자열 안에서 문자열 검색하기" 이다. (link : leetcode.com/problems/implement-strstr/ ) 자 그럼 바로 시작해보자 간단하게 설명하면 주어진 문자열(haystack)에서 특정 문자열(haystack)이 있는지, 있으면 몇번째에 위치해 있는지 찾는 문제이다. 문제 풀이 방법은 다음과 같이 풀었다. [0] StringBuffer와 Map을 준비한다. StringBuffer는 subString을 조합하기 위함이고, Map은 만들어진 subString을 key로, 위치를 value로 저장하기 위함이다. [1] 먼저 0 ~ N(length of needle) - 1 의 subString을 구한다. 해당 subString을 Map에 저장, 이때 subSt..
알 - 하 ! (알고리즘 하이 라는 뜻) 오늘 풀어볼 문제는 "중복되지 않는 가장 긴 Substring 구하기" 이다. (link : leetcode.com/problems/longest-substring-without-repeating-characters/) 문제 설명을 간략하게 하자면, 문자열이 주어진다. 이 때, 문자열엔 알파벳, 숫자, symbols, space가 들어 갈 수 있다고한다. 이때 중복되지 않으면서 이어지는 가장 긴 문자열의 길이를 구하는게 문제이다. 이렇게 설명하면 좀 어려울 수 있으니, 간단하게 설명하면, String : "pwwkew" 일때, 중복없이 가장 긴 substring은 "wke"가 된다. 사실 처음에 봤을때 굉장히 쉬운 문제인줄 알았으나,,, 생각보다 까다로운 문제였다..
오늘 풀어 볼 문제는 "두 수의 합 구하기" 이다. (link : leetcode.com/problems/two-sum/ ) leet code > Problems의 가장 첫 번째 문제이기 때문에 많이들 풀어봤을꺼라 생각한다. 그럼 바로 시작해보자. 간단하게 문제에 대해 설명하자면 target 숫자와 숫자가 담긴 배열이 주어졌을때, 배열의 두개의 숫자의 합이 target 이 되는 두 수의 위치를 구하는 문제이다. 예를 들면, target이 9이고, 숫자 배열이 [1,2,3,4,5] 일 때, 정답은 [3,4] 가 될 것이다. 단, target이 될 수 있는 경우의 수는 오직 한가지라 했으니 중복 case에 대해선 고려 하지 않아도 된다. 문제 풀이 방법은 다음과 같이 풀었다. [0] 배열의 원소값을 key로..