[Daily Coding]_readVertically

fejigu·2022년 8월 8일
1

알고리즘 & 자료구조

목록 보기
13/24


문제

문자열을 요소로 갖는 배열을 입력받아 문자열을 세로로 읽었을 때의 문자열을 리턴해야 합니다.

입력

인자 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'

💻 코드 작성

//배열을 입력받는다.
let temp = [];
//배열의 요소를 세로로 읽는다.
//세로로 읽는다?
//- 규칙 : arr[0][0] + arr[1][0] -> arr[0][1] + arr[1][1] -> arr[0][2] + arr[1][2]
//- 첫 번째 인수 범위는 arr의 길이까지, 두 번째 인수는 배열의 요소 중 가장 긴 길이
 // - 이중 for문을 이용해 외부 포문에선 두번째 요소를 기준으로 돌고
for(let i=0; i<arr.length; i++) {
	let str - arr[i];
for(let j=0; j<str.length; j++) {
  	temp.push(str[j]);
  } else {
        temp[j] = temp[j] + str[j];
      }
    }
  }
// - 내부 for문에선 첫 번째 요소를 기준으로 돈다.
//  - 접근한 각 요소를 result에 할당한다.
   let result = '';
  for (let i = 0; i < temp.length; i++) {
    result = result + temp[i];
  }
//result를 리턴한다.
return result;
}

📍 회고

세로로 읽었을 때의 문자열을 리턴해야 한다는 것을 
이중 for문으로 어떻게 잡아야할지 생각하는 것이 어려웠다
profile
console.log(frontendjigu( ☕️, 📱); // true

0개의 댓글