알고리즘
-
Algorithm의 개념1codeStates front-end/Algorithm 2023. 4. 4. 11:38
HTML 삽입 미리보기할 수 없는 소스 📌 Algorithm의 개념 문제를 해결하는 최선의 선택 📍시간 복잡도 입력값의 변화에 따라 연산을 실행할 때, 연산 횟수에 비해 시간이 얼마만큼 걸리는가? 효율적인 알고리즘 구현 👉🏻👉🏻 입력값이 커짐에 따라 증가하는 시간의 비율을 최소화한 알고리즘 🔗 Big-O 표기법 시간 복잡도를 표기하는 방법 Big-O(빅-오) Big-Ω(빅-오메가) Big-θ(빅-세타) 각각 최악, 최선, 중간(평균)의 경우를 대하여 나타내는 방법, Big-O표기법이 가장 자주 사용 Big-O표기법 👉🏻👉🏻 최악을 고려 "최소한 특정 시간 이상이 걸린다" , "이 정도 시간까지 걸릴 수 있다" O(1) Big-O 표기법은 입력값의 변화에 따라 연산을 실행할 때, 연산 횟수에 비해 시간이 ..
-
Daily Coding 8codeStates front-end/Algorithm 2023. 1. 25. 20:43
📍문제 8( convertDoubleSpaceToSingle ) 문자열을 입력받아 해당 문자열에 등장하는 두 칸의 공백을 모두 한 칸의 공백으로 바꾼 문자열을 리턴해야 합니다. 📥입력 인자1 : arr string 타입의 문자열 📤 출력 string 타입의 문자열 ❗️주의사항 두 칸을 초과하는 공백은 존재하지 않는다고 가정합니다. 나의 생각 새로운 문자열을 리턴 모든 문자열의 길이를 반복후 str[i] 번째 공백 + str[i+1] 공백이 아닐 때 새로운 문자열을 추가 래퍼런스( = 나의 코드) function convertDoubleSpaceToSingle(str) { let result = ''; let before = ''; for (let i = 0; i < str.length; i++) { //..
-
Daily Coding 6codeStates front-end/Algorithm 2023. 1. 19. 19:25
📍문제6( letterCapitalize ) 문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자가 대문자인 문자열을 리턴해야 합니다. 📥입력 인자1 : str string 타입의 공백이 있는 알파벳 문자열 📤 출력 string 타입을 리턴 ❗️주의사항 단어는 공백으로 구분합니다. 연속된 공백이 존재할 수 있습니다. 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. 나의 생각 문자열을 구성하는 각 단어 : split() 단어는 공백으로 구분 : 문자열을 생성해 split(' ') 공백으로 구분해줌 첫글자를 대문자로 리턴 : 단어의 길이가 다끝날때 까지 첫번째 단어의 알파벳은 touppercase() 문자열을 리턴 : 다시 새로운 문자열을 낼려면 저번에 배웠던 join 함수 쓰기 나의 코드 fu..
-
Daily Coding 4codeStates front-end/Algorithm 2023. 1. 17. 14:44
📍문제4( firstCharcter ) 문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자로 이루어진 문자열을 리턴해야 합니다. 📥입력 인자1 : str string 타입의 공백이 있는 알파벳 문자열 📤 출력 string 타입을 리턴 ❗️주의사항 단어는 공백 한 칸으로 구분합니다. 연속된 공백은 없다고 가정합니다. 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. 나의 생각 문자열을 입력받아 -> '' 입력받아 문자열을 구성하는 각 단어의 첫 글자로 이루어진 -> 단어의 길이를 다 돌아서 첫글자만 뽑아내! 문자열을 리턴 -> string 타입 리턴 result = '' 단어는 공백 한칸으로 구분 -> split(' ') 빈 문자열을 입력 받은 경우 빈 문자열 리턴 -> 조건문 써서 str =..
-
Daily Coding1,2codeStates front-end/Algorithm 2023. 1. 13. 10:21
📍문제1( transformFirstAndLast ) 배열을 입력받아 차례대로 배열의 첫 요소와 마지막 요소를 키와 값으로 하는 객체를 리턴해야 합니다. 📥입력 인자1 : arr string 타입을 요소로 갖는 배열 📤 출력 객체를 리턴해야 합니다 ❗️주의사항 빈 배열을 입력받은 경우, 빈 객체를 리턴해야 합니다. 입력으로 받는 배열을 수정하지 않아야 합니다. 나의 생각 1. 객체를 리턴 -> 결과가 {key : value} 로 나와야 함 2. 배열을 차례대로 입력 -> 0이상의 배열의 길이를 전부 순회 3. 배열의 첫 요소 -> arr[0] -> 키 4. 배열의 마지막 요소 -> arr[arr.length -1] -> 값 5. 배열의 첫요소와 마지막 요소가 키와 값 -> 첫요소 = 마지막 요소 래퍼런스..