프론트엔드 공부/자료구조 & 알고리즘 문자열을 요소로 갖는 배열을 입력받아 문자열을 세로로 읽었을 때의 문자열을 리턴해야 합니다. - 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(output); // --> 'hwiolrd' 코드 // 작성코드 function readVertically(arr) { let result = ""; let maxLength = 0; for (let str of arr) { if (str.length > maxLength) { maxLength = str.length; } } for (let i = 0; i < maxLength; i++) { for (let str of arr) { if (str[i]) { result += str[i]; } } } return result; } // 작성코드2 function readVertically(arr) { let maxLength = Math.max(...arr.map(str => str.length)); return [...Array(maxLength).keys()].map(i => arr.reduce((res, str) => res + (str[i] || ''), '') ).join(''); } // 레퍼런스 코드 function readVertically(arr) { let temp = []; for (let i = 0; i < arr.length; i++) { let str = arr[i]; for (let j = 0; j < str.length; j++) { if (temp.length === j) { temp.push(str[j]); } else { temp[j] = temp[j] + str[j]; } } } let result = ''; for (let i = 0; i < temp.length; i++) { result = result + temp[i]; } return result; } 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기프론트엔드 학습 기록 저작자표시 비영리 변경금지 Contents 당신이 좋아할만한 콘텐츠 두 수(num1, num2)를 입력받아, num1를 num2로 나눈 나머지를 리턴해야 합니다. 2023.02.03 수를 요소로 갖는 배열을 입력받아 각 요소들이 그 이전의 요소들의 합보다 큰지 여부를 리턴해야 합니다. 2023.02.01 2차원 배열(배열을 요소로 갖는 배열)을 입력받아 'B'의 위치 정보를 요소로 갖는 배열을 리턴해야 합니다. 2023.02.01 문자열을 요소로 갖는 배열을 입력받아 가장 짧은 문자열과 가장 긴 문자열을 제거한 배열을 리턴해야 합니다. 2023.02.01 댓글 0 + 이전 댓글 더보기