Programmers
[프로그래머스][JS] 세로 읽기
winter17
2023. 5. 11. 23:58
https://school.programmers.co.kr/learn/courses/30/lessons/181904
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이 과정
function solution(my_string, m, c) {
// m만큼 잘라서 2차원 배열 만들기
var answer = [];
for (let i = 0; i < my_string.length; i += m){
answer.push([my_string.slice(i, i+m)])
}
// forEach메서드 사용해서 2차원배열에 접근하고 문자열 출력
let newStr = ''
answer.forEach(el => newStr += el[0][c-1])
return newStr;
}
answer = [ [ 'ihrh' ], [ 'bakr' ], [ 'fpnd' ], [ 'oplj' ], [ 'hygc' ] ]
[의문점]
answer = [ [ 'ihrh' ], [ 'bakr' ], [ 'fpnd' ], [ 'oplj' ], [ 'hygc' ] ] 일 때,
내가 짠 코드를 보면 el[0][c-1] 이렇게 했는데 어떻게 통과가 된거지...?
answer 배열 길이만큼 숫자가 반복되었어야했는데 첫번째가 [0]으로 고정되어있는데 왜 ...?
문제 오류인건가 내가 발견하지 못한 부분이 있는건가
저 부분을 좀 더 정확하게 해결하려면 for문을 answer길이만큼 반복시켜서 접근하면 된다!
리뷰
자바스크립트로 2차원 배열은 처음 풀어보는데 이럴때 forEach를 사용한다는 것을 알게되었다
for문이 더 익숙해서 왜 forEach를 써야하는지 의문이었는데 이런 경우에 쓰나보다