목록개발/Algorithm (11)
개발여행의 블로그
회문 문자열이란? 앞에서부터 읽거나 뒤에서부터 읽거나 모두 동일한 문자열이다. 문제 문자열이 주어졌을 때 회문 문자열인지 아닌지 출력하는 코드를 작성해보자! 입력 & 출력 길이 100 이하의 공백 없는 문자열 ex1) TEST -> false 출력 ex2) teeT -> ture 출력 풀이 두 가지 방법 정도로 해결할 수 있다. 1) Array.prototype.reverse()를 활용해서 거꾸로 뒤집어진 문자열 생성 후 같은지 확인. Array.prototype.reverse() 2) 문자열의 앞과 뒤의 짝을 맞춰서 같은 문자인지 비교. 문자열의 맨 앞과 맨 뒤 비교, 두 번째 문자열과 끝에서 두 번째 문자열 비교 이렇게 반복해서 다른 문자가 있을 경우 false를 리턴한다. 코드 1) reverse ..
유클리드 호제법 (유클리드 알고리즘)은 2개의 자연수의 최대공약수를 구하는 알고리즘이다. * 최대공약수 : GCD(Greatest Common Divisor) 양의 정수 A, B가 존재하고 A가 B보다 크다는 전제하에 A를 B로 나눈 나머지를 r이라고 칭한다. 이때 A와 B의 최대공약수는 B와 r 사이의 최대공약수와 같다. 이것이 유클리드 호제법이다. 그 이유를 살펴보자! A는 어떤 수 * 최대공약수, B는 어떤 수 * 최대공약수로 나타낼 수 있다. 즉 아래와 같이 나타낼 수 있다. (최대공약수이기 때문에 더 이상 약수는 존재하지 않아야 하므로 a와 b는 서로소이다.) 여기서 증명해야 할 것은 A와 B의 최대공약수는 G이므로 A를 B로 나눈 나머지가 r이었을 때, B와 r의 최대공약수도 G인지 확인해야 ..
https://leetcode.com/problems/buddy-strings/ Buddy Strings - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Given two strings s and goal, return true if you can swap two letters in s so the result is equal to goal, otherwise, return false. Swapping letters is defined as taking two..
https://leetcode.com/problems/reverse-integer/ Reverse Integer - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-2^31, 2^3..
트리(Tree)란? 그래프의 일종으로 계층적인 구조를 표현하는 것. 트리(Tree) 예시 · 조직도 ( 회사 등에서 흔히 볼 수 있는 조직도 ) · 디렉토리와 서브디렉토리 구조 ( 컴퓨터에 저장된 폴더의 구조 ) · 가계도 트리(Tree)는 노드(node)들과 노드들을 연결하는 링크(link)들로 구성돼있다. 루트(root)노드란? 트리에서 최상위 노드를 루트 노드(root node 뿌리 노드)라고 한다. 위의 그림에서는 dog가 루트 노드이다. ▶ 트리에서 부모-자식 관계 dog는 cat, fox, wolf의 부모 노드(parent node)이고, cat, fox, wolf는 dog의 자식노드(child node)이다. 따라서 root node를 제외한 트리의 모든 node들은 유일한 부모 노드를 가진..