프론트엔드 공부/자료구조 & 알고리즘
-
isIsogram 문제 문자열을 입력받아 아이소그램인지 여부를 리턴해야 합니다. 아이소그램(isogram)은 각 알파벳을 한번씩만 이용해서 만든 단어나 문구를 말합니다. 입력 인자 1 : str string 타입의 공백이 없는 알파벳 문자열 출력 boolean 타입을 리턴해야 합니다. 주의 사항 빈 문자열을 입력받은 경우, true를 리턴해야 합니다. 대소문자는 구별하지 않습니다. 입출력 예시 let output = isIsogram('aba'); console.log(output); // false output = isIsogram('Dermatoglyphics'); console.log(output); // true output = isIsogram('moOse'); console.log(output..
문자열을 입력받아 아이소그램인지 여부를 리턴해야 합니다. 아이소그램(isogram)은 각 알파벳을 한번씩만 이용해서 만든 단어나 문구를 말합니다.isIsogram 문제 문자열을 입력받아 아이소그램인지 여부를 리턴해야 합니다. 아이소그램(isogram)은 각 알파벳을 한번씩만 이용해서 만든 단어나 문구를 말합니다. 입력 인자 1 : str string 타입의 공백이 없는 알파벳 문자열 출력 boolean 타입을 리턴해야 합니다. 주의 사항 빈 문자열을 입력받은 경우, true를 리턴해야 합니다. 대소문자는 구별하지 않습니다. 입출력 예시 let output = isIsogram('aba'); console.log(output); // false output = isIsogram('Dermatoglyphics'); console.log(output); // true output = isIsogram('moOse'); console.log(output..
2023.02.06 -
modulo 문제 두 수(num1, num2)를 입력받아, num1를 num2로 나눈 나머지를 리턴해야 합니다. 입력 인자 1 : num1 number 타입의 정수 (num1 >= 0) 인자 2 : num2 number 타입의 정수 (num2 >= 0) 출력 number 타입을 리턴해야 합니다. 주의 사항 나눗셈(/), 나머지(%) 연산자 사용은 금지됩니다. 0은 어떤 수로 나누어도 나머지가 0입니다. 어떤 수도 0으로 나눌 수 없습니다. 이 경우 'Error: cannot divide by zero'를 리턴해야 합니다. 입출력 예시 let output = modulo(25, 4); console.log(output); // --> 1 코드 //작성코드 // 어떤 수도 0으로 나눌 수 없습니다. 이 경우..
두 수(num1, num2)를 입력받아, num1를 num2로 나눈 나머지를 리턴해야 합니다.modulo 문제 두 수(num1, num2)를 입력받아, num1를 num2로 나눈 나머지를 리턴해야 합니다. 입력 인자 1 : num1 number 타입의 정수 (num1 >= 0) 인자 2 : num2 number 타입의 정수 (num2 >= 0) 출력 number 타입을 리턴해야 합니다. 주의 사항 나눗셈(/), 나머지(%) 연산자 사용은 금지됩니다. 0은 어떤 수로 나누어도 나머지가 0입니다. 어떤 수도 0으로 나눌 수 없습니다. 이 경우 'Error: cannot divide by zero'를 리턴해야 합니다. 입출력 예시 let output = modulo(25, 4); console.log(output); // --> 1 코드 //작성코드 // 어떤 수도 0으로 나눌 수 없습니다. 이 경우..
2023.02.03 -
superIncreasing 문제 수를 요소로 갖는 배열을 입력받아 각 요소들이 그 이전의 요소들의 합보다 큰지 여부를 리턴해야 합니다. 입력 인자 1 : arr 수를 요소로 갖는 배열 arr[i]는 정수 출력 boolean 타입을 리턴해야 합니다. arr[i]는 arr[0]부터 arr[i-1]까지의 합보다 커야 합니다. 입출력 예시 let output = superIncreasing([1, 3, 6, 13, 54]); console.log(output); // --> true output = superIncreasing([1, 3, 5, 9]); console.log(output); // --> false 코드 // 작성코드 function superIncreasing(arr) { let sum = a..
수를 요소로 갖는 배열을 입력받아 각 요소들이 그 이전의 요소들의 합보다 큰지 여부를 리턴해야 합니다.superIncreasing 문제 수를 요소로 갖는 배열을 입력받아 각 요소들이 그 이전의 요소들의 합보다 큰지 여부를 리턴해야 합니다. 입력 인자 1 : arr 수를 요소로 갖는 배열 arr[i]는 정수 출력 boolean 타입을 리턴해야 합니다. arr[i]는 arr[0]부터 arr[i-1]까지의 합보다 커야 합니다. 입출력 예시 let output = superIncreasing([1, 3, 6, 13, 54]); console.log(output); // --> true output = superIncreasing([1, 3, 5, 9]); console.log(output); // --> false 코드 // 작성코드 function superIncreasing(arr) { let sum = a..
2023.02.01 -
readVertically 문제 문자열을 요소로 갖는 배열을 입력받아 문자열을 세로로 읽었을 때의 문자열을 리턴해야 합니다. 입력 인자 1 : arr string 타입을 요소로 갖는 배열 출력 string 타입을 리턴해야 합니다. 주의 사항 각 문자열의 길이는 다양합니다. 각 문자의 위치를 행, 열로 나타낼 경우, 비어있는 (행, 열)은 무시합니다. 입출력 예시 let input = [ // 'hello', 'wolrd', ]; let output = readVertically(input); console.log(output); // --> 'hweolllrod' input = [ // 'hi', 'wolrd', ]; output = readVertically(input); console.log(outp..
문자열을 요소로 갖는 배열을 입력받아 문자열을 세로로 읽었을 때의 문자열을 리턴해야 합니다.readVertically 문제 문자열을 요소로 갖는 배열을 입력받아 문자열을 세로로 읽었을 때의 문자열을 리턴해야 합니다. 입력 인자 1 : arr string 타입을 요소로 갖는 배열 출력 string 타입을 리턴해야 합니다. 주의 사항 각 문자열의 길이는 다양합니다. 각 문자의 위치를 행, 열로 나타낼 경우, 비어있는 (행, 열)은 무시합니다. 입출력 예시 let input = [ // 'hello', 'wolrd', ]; let output = readVertically(input); console.log(output); // --> 'hweolllrod' input = [ // 'hi', 'wolrd', ]; output = readVertically(input); console.log(outp..
2023.02.01 -
findBugInApples 문제 2차원 배열(배열을 요소로 갖는 배열)을 입력받아 'B'의 위치 정보를 요소로 갖는 배열을 리턴해야 합니다. 입력 인자 1 : arr 배열을 요소로 갖는 배열 arr[i]는 'A' 또는 'B'만을 요소로 갖는 배열 출력 'B'의 위치 정보(행, 열)를 요소로 갖는 배열을 리턴해야 합니다. 배열의 요소는 차례대로 행, 열입니다. ([행, 열]) 행: 'B'를 요소로 갖는 배열 arr[i]의 인덱스 i 열: arr[i]에서 'B'(arr[i][j])의 인덱스 j 주의 사항 arr, arr[i]의 길이는 다양하게 주어집니다. 항상 한 개의 문자열 'B'가 존재합니다. 입출력 예시 let output = findBugInApples([['A'], ['B']]); console...
2차원 배열(배열을 요소로 갖는 배열)을 입력받아 'B'의 위치 정보를 요소로 갖는 배열을 리턴해야 합니다.findBugInApples 문제 2차원 배열(배열을 요소로 갖는 배열)을 입력받아 'B'의 위치 정보를 요소로 갖는 배열을 리턴해야 합니다. 입력 인자 1 : arr 배열을 요소로 갖는 배열 arr[i]는 'A' 또는 'B'만을 요소로 갖는 배열 출력 'B'의 위치 정보(행, 열)를 요소로 갖는 배열을 리턴해야 합니다. 배열의 요소는 차례대로 행, 열입니다. ([행, 열]) 행: 'B'를 요소로 갖는 배열 arr[i]의 인덱스 i 열: arr[i]에서 'B'(arr[i][j])의 인덱스 j 주의 사항 arr, arr[i]의 길이는 다양하게 주어집니다. 항상 한 개의 문자열 'B'가 존재합니다. 입출력 예시 let output = findBugInApples([['A'], ['B']]); console...
2023.02.01 -
removeExtremes 문제 문자열을 요소로 갖는 배열을 입력받아 가장 짧은 문자열과 가장 긴 문자열을 제거한 배열을 리턴해야 합니다. 입력 인자 1 : arr string 타입을 요소로 갖는 배열 arr[i].length는 20 이하 출력 배열을 리턴해야 합니다. 주의 사항 가장 짧은 문자열의 길이와 가장 긴 문자열의 길이가 같은 경우는 없습니다. 가장 짧은 문자열 또는 가장 긴 문자열이 다수일 경우, 나중에 위치한 문자열을 제거합니다. 입출력 예시 let output = removeExtremes(['a', 'b', 'c', 'def']); console.log(output); // --> ['a', 'b'] output = removeExtremes(['where', 'is', 'the', 'l..
문자열을 요소로 갖는 배열을 입력받아 가장 짧은 문자열과 가장 긴 문자열을 제거한 배열을 리턴해야 합니다.removeExtremes 문제 문자열을 요소로 갖는 배열을 입력받아 가장 짧은 문자열과 가장 긴 문자열을 제거한 배열을 리턴해야 합니다. 입력 인자 1 : arr string 타입을 요소로 갖는 배열 arr[i].length는 20 이하 출력 배열을 리턴해야 합니다. 주의 사항 가장 짧은 문자열의 길이와 가장 긴 문자열의 길이가 같은 경우는 없습니다. 가장 짧은 문자열 또는 가장 긴 문자열이 다수일 경우, 나중에 위치한 문자열을 제거합니다. 입출력 예시 let output = removeExtremes(['a', 'b', 'c', 'def']); console.log(output); // --> ['a', 'b'] output = removeExtremes(['where', 'is', 'the', 'l..
2023.02.01 -
insertDash 문제 문자열을 입력받아 연속된 한자리 홀수 숫자 사이에 '-'를 추가한 문자열을 리턴해야 합니다. 입력 인자 1 : str string 타입의 숫자 문자열 출력 string 타입을 리턴해야 합니다. 주의 사항 0은 짝수로 간주합니다. 입출력 예시 let output = insertDash('454793'); console.log(output); // --> 4547-9-3 코드 //작성코드 function insertDash(str) { let result = str[0]; for(let i = 1; i < str.length; i++){ if(str[i - 1] % 2 !== 0 && str[i] % 2 !== 0){ result += "-"; } result += str[i]; }..
문자열을 입력받아 연속된 한자리 홀수 숫자 사이에 '-'를 추가한 문자열을 리턴해야 합니다.insertDash 문제 문자열을 입력받아 연속된 한자리 홀수 숫자 사이에 '-'를 추가한 문자열을 리턴해야 합니다. 입력 인자 1 : str string 타입의 숫자 문자열 출력 string 타입을 리턴해야 합니다. 주의 사항 0은 짝수로 간주합니다. 입출력 예시 let output = insertDash('454793'); console.log(output); // --> 4547-9-3 코드 //작성코드 function insertDash(str) { let result = str[0]; for(let i = 1; i < str.length; i++){ if(str[i - 1] % 2 !== 0 && str[i] % 2 !== 0){ result += "-"; } result += str[i]; }..
2023.02.01 -
ABCheck 문제 문자열을 입력받아 문자열 내에 아래 중 하나가 존재하는지 여부를 리턴해야 합니다. 'a'로 시작해서 'b'로 끝나는 길이 5의 문자열 'b'로 시작해서 'a'로 끝나는 길이 5의 문자열 입력 인자 1 : str string 타입의 알파벳 문자열 출력 boolean 타입을 리턴해야 합니다. 주의 사항 대소문자를 구분하지 않습니다. 공백도 한 글자로 취급합니다. 'a'와 'b'는 중복해서 등장할 수 있습니다. 입출력 예시 let output = ABCheck('lane Borrowed'); console.log(output); // --> true 코드 // 작성코드 function ABCheck(str) { if(str.length === 0){ return false } str = s..
문자열을 입력받아 문자열 내에 아래 중 하나가 존재하는지 여부를 리턴해야 합니다.ABCheck 문제 문자열을 입력받아 문자열 내에 아래 중 하나가 존재하는지 여부를 리턴해야 합니다. 'a'로 시작해서 'b'로 끝나는 길이 5의 문자열 'b'로 시작해서 'a'로 끝나는 길이 5의 문자열 입력 인자 1 : str string 타입의 알파벳 문자열 출력 boolean 타입을 리턴해야 합니다. 주의 사항 대소문자를 구분하지 않습니다. 공백도 한 글자로 취급합니다. 'a'와 'b'는 중복해서 등장할 수 있습니다. 입출력 예시 let output = ABCheck('lane Borrowed'); console.log(output); // --> true 코드 // 작성코드 function ABCheck(str) { if(str.length === 0){ return false } str = s..
2023.02.01