-
[Programmers] JavaScript 알고리즘 | Lv.0 배열에서 문자열 대소문자 변환하기► JS Algorithm/Programmers 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는 간단한 연산만 할만하지, 배열로 들어가니, 초콤 이해하는데 시간이 걸린다앙 ㅎ
반응형'► JS Algorithm > Programmers' 카테고리의 다른 글
[Programmers] JavaScript 알고리즘 | Lv.0 조건에 맞게 수열 변환하기 3 (0) 2023.12.15 [React Native_에러해결] xcode 에러해결 '►Start the active scheme' (0) 2023.12.15 [Programmers] JavaScript 알고리즘 | Lv.0 더 크게 합치기 (0) 2023.12.14 [Programmers] JavaScript 알고리즘 | Lv.0 공배수 (0) 2023.12.13 [Programmers] JavaScript 알고리즘 | Lv.0 조건에 맞게 수열 변환하기 1 (0) 2023.12.13 - 1 ≤ strArr ≤ 20