► JS Algorithm/Programmers
[Programmers] JavaScript 알고리즘 | Lv.0 배열에서 문자열 대소문자 변환하기
다람트리
2023. 12. 14. 12:58
반응형
🔒 문제 설명
문자열 배열 strArr가 주어집니다. 모든 원소가 알파벳으로만 이루어져 있을 때, 배열에서 홀수번째 인덱스의 문자열은 모든 문자를 대문자로, 짝수번째 인덱스의 문자열은 모든 문자를 소문자로 바꿔서 반환하는 solution 함수를 완성해 주세요.
🔒 제한사항
- 1 ≤ strArr ≤ 20
- 1 ≤ strArr의 원소의 길이 ≤ 20
- strArr의 원소는 알파벳으로 이루어진 문자열 입니다.
🔒 입출력 예
strArr | result |
["AAA","BBB","CCC","DDD"] | ["aaa","BBB","ccc","DDD"] |
["aBc","AbC"] | ["abc","ABC"] |
🔒 입출력 예 설명
입출력 예 #1
- strArr[0]과 strArr[2]는 짝수번째 인덱스의 문자열이므로 모두 소문자로 바꿔서 "aaa"와 "ccc"가 됩니다.
- strArr[1]과 strArr[3]는 홀수번째 인덱스의 문자열인데 원래 대문자이므로 그대로 둡니다.
- 따라서 ["aaa","BBB","ccc","DDD"]를 return 합니다.
입출력 예 #2
- strArr[0]은 짝수번째 인덱스의 문자열이므로 소문자로 바꿔서 "abc"가 됩니다.
- strArr[1]은 홀수번째 인덱스의 문자열이므로 대문자로 바꿔서 "ABC"가 됩니다.
- 따라서 ["abc","ABC"]를 return 합니다.
※ 2023년 05월 15일 제한사항이 수정되었습니다.
🔐 solution of mine
map()
const solution = (strArr) =>
console.log(
strArr.map((v, i) => (i % 2 ? v.toUpperCase() : v.toLowerCase()))
);
solution(["AAA", "BBB", "CCC", "DDD"]); // expected output: ["aaa","BBB","ccc","DDD"]
solution(["aBc", "AbC"]); // expected output: ["abc","ABC"]
🔐 solution of others
reduce()
const solution = (strArr) =>
console.log(
strArr.reduce(
(a, c, i) => [...a, i % 2 ? c.toUpperCase() : c.toLowerCase()],
[]
)
);
solution(["AAA", "BBB", "CCC", "DDD"]); // expected output: ["aaa","BBB","ccc","DDD"]
solution(["aBc", "AbC"]); // expected output: ["abc","ABC"]
휴.. reduce는 간단한 연산만 할만하지, 배열로 들어가니, 초콤 이해하는데 시간이 걸린다앙 ㅎ
반응형