저장을 습관화
프로그래머스 LV.0 배열에서 문자열 대소문자 변환하기 본문
프로그래머스 LV.0 배열에서 문자열 대소문자 변환하기
https://school.programmers.co.kr/learn/courses/30/lessons/181875
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 문제 명
배열에서 문자열 대소문자 변환하기
2. 문제 설명
문자열 배열 strArr가 주어집니다. 모든 원소가 알파벳으로만 이루어져 있을 때, 배열에서 홀수번째 인덱스의 문자열은 모든 문자를 대문자로, 짝수번째 인덱스의 문자열은 모든 문자를 소문자로 바꿔서 반환하는 solution 함수를 완성해 주세요.
3. 제한 사항
- 1 ≤ strArr ≤ 20
- 1 ≤ strArr의 원소의 길이 ≤ 20
- strArr의 원소는 알파벳으로 이루어진 문자열 입니다.
4. 예시
strArr | result |
["AAA","BBB","CCC","DDD"] | ["aaa","BBB","ccc","DDD"] |
["aBc","AbC"] | ["abc","ABC"] |
5. 기본 제공 코드
function solution(strArr) {
var answer = [];
return answer;
}
6. 제출한 내 답
const solution = (strArr) => {
let answer = [];
for (i = 0; i < strArr.length; i++) {
if (i % 2 === 0) {
answer.push(strArr[i].toLowerCase());
} else {
answer.push(strArr[i].toUpperCase());
}
}
return answer;
};
6-2. VSC에 작성한 내용
const solution = (strArr) => {
// return strArr.map((element) => {
// console.log(element);
// });
let answer = [];
for (i = 0; i < strArr.length; i++) {
if (i % 2 === 0) {
answer.push(strArr[i].toLowerCase());
} else {
answer.push(strArr[i].toUpperCase());
}
}
return answer;
};
// 테스트
console.log(solution(["AAA", "BBB", "CCC", "DDD"]));
console.log(solution(["aBc", "AbC"]));
7. 특이사항
map을 쓰고 싶었는데 현재 요소가 몇번째 요소인지 인덱스 구하는 방법을 몰라서
for 반복문으로 진행함
8. 다른 사람이 작성한 답
8-1. map
function solution(strArr) {
return strArr.map((v, i) => i % 2 === 0 ? v.toLowerCase() : v.toUpperCase());
}
아 map에 쓰이는 옵션이 첫번째가 요소고 두번째가 인덱스가 되는구나!
'코딩 테스트 > 프로그래머스 - 자바스크립트' 카테고리의 다른 글
프로그래머스 LV.0 부분 문자열인지 확인하기 (0) | 2023.09.15 |
---|---|
프로그래머스 LV.0 rny_string (0) | 2023.09.15 |
프로그래머스 LV.0 특정한 문자를 대문자로 바꾸기 (0) | 2023.09.15 |
프로그래머스 LV.0 접미사인지 확인하기 (0) | 2023.09.15 |
프로그래머스 LV.0 첫 번째로 나오는 음수 (0) | 2023.09.15 |