소문자로 바꾸기
알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 소문자로 변환하여 return하는 solution 함수를 완성해 주세요.
- 1 ≤ myString의 길이 ≤ 100,000
myString은 알파벳으로 이루어진 문자열입니다.
function solution(myString) {
return myString.toLowerCase();
}
// 다른 사람의 풀이
function solution(myString) {
let answer = '';
for(let i = 0; i < myString.length; i++) {
const pointer = myString[i];
pointer === pointer.toUpperCase() ? answer += pointer.toLowerCase() : answer += pointer;
}
return answer;
}
function solution(myString) {
let str = myString.split("");
const result = str.map((item)=>{
return item.toLowerCase()
})
return result.join("")
}
소문자로만 변환하면 되므로, 매개변수를 그대로 받아서 toLowerCase()로 처리.
<다른 사람의 풀이에 대한 이해>
반복문을 돌면서 새로운 문자열을 만든다. 새로 만들어진 문자열에 대문자가 있으면 toLowerCase()를 아니면 그대로 문자에 집어넣어준다. 내가 생각했던 방법이었다.
1) split("")는 새로 만들어진 문자 사이에 공백을 없애고 배열로 바꿔준다. // myString = qkqh ==> str = [qkqh]
2) 새로 만들어진 문자의 요소를 각각 item이라고 명명하고, 배열의 map()을 사용하여 새로운 문자열을 소문자로 반환한다.
3) 새로 만들어진 배열 result에는 요소간 공백으로 구분되어 있으므로, join('')을 사용하여 공백을 없애주고 문자열로 변환하여 준다.
대문자로 바꾸기
알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 대문자로 변환하여 return 하는 solution 함수를 완성해 주세요.
- 1 ≤ myString의 길이 ≤ 100,000
myString은 알파벳으로 이루어진 문자열입니다.
function solution(myString) {
let answer = '';
for(let i = 0; i < myString.length; i++) {
const pointer = myString[i];
pointer === pointer.toUpperCase()
? answer += pointer
: answer += pointer.toUpperCase();
}
return answer;
}
function solution(myString) {
let strToArray = myString.split('') // 문자를 공백없는 배열로 변경
let result = strToArray.map((i) => {
return i.toUpperCase();
});
return result.join('') // 배열을 공백없는 문자열로 변경
}
소문자로 바꾸는 문제와 완전 같은 문제였다.
이번에 다른 점은, 스스로 생각하고 작성하였다는 점이다. (직전에 풀었던 문제라서 그랬을 수도 있지만...)
그래도 뿌듯!
'코딩테스트 > 프로그래머스 0단계 - 기초 트레이닝' 카테고리의 다른 글
프로그래머스 0단계 - 조건에 맞게 수열 변환하기 3 / A 강조하기 (0) | 2024.04.01 |
---|---|
프로그래머스 0단계 - 문자열 섞기, 문자열로 변환 (0) | 2024.03.30 |
프로그래머스 0단계 - 두 수의 합, 홀짝에 따른 다른 값 반환 (0) | 2024.03.30 |
프로그래머스 0단계 - 공배수, 더 크게 만들기 (0) | 2024.03.29 |
프로그래머스 0단계 - n의 배수, flag에 따른 값, 문자열의 앞의 n글자, 정수 부분 (0) | 2024.03.28 |
댓글