210831 배열의 앞뒤 뒤집기
4891 단어 알고리즘JavaScriptJavaScript
문제
문자로 구성된 배열을 input으로 전달하면, 문자를 뒤집어서 return 해주세요.
- 새로운 배열을 선언하면 안 됩니다.
- 인자로 받은 배열을 수정해서 만들어주세요.
Input: ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]
Input: ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]
문제이해
배열의 전체 길이 중에서 앞부분에 있는거를 뒤에 옮기고 뒤에 있는거를 앞으로 옮기면 된다
1, 2, 3, 4, 5
1 ↔ 5
2 ↔ 4
3 ↔ 3 (사실상 그대로이기 때문에 굳이 바꾸지 않는다)
정답
const reverseString = s => {
for (let i = 0; i < s.length / 2; i++) {
let frontE = s[i];
s[i] = s[s.length - 1 - i];
s[s.length - 1 - i] = frontE;
}
return s;
};
코드해설
- 배열의 처음부터 중간까지만 반복하도록 for문 적용
for (let i = 0; i < s.length/2; i++) {
}
- 앞자리에 있는 요소를 frontE라는 변수에 담아주기
let frontE = s[i];
- 뒤에 있는 요소를 앞 요소에 담아주기
s[i] = s[s.length-1-i];
- 원래 앞에 있던 요소를 뒤 요소에 담아주기
s[s.length-1-i] = frontE;
더 간단한 정답
return s.reverse();
Author And Source
이 문제에 관하여(210831 배열의 앞뒤 뒤집기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@beanlove97/210831-배열의-앞뒤-뒤집기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)