문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
N의 범위 : 100,000,000 이하의 자연수
입출력 예
N answer
123 6
987 24
function solution(n)
{ // toString()을 이용하여 자연수를 문자열로 바꿔주고, split("")로 배열 만들기
// 만들어진 배열을 map()로 이용하여 10진수로 바꿔준 다음 array 선언
let array = n.toString().split("").map(x => parseInt(x))
return array.reduce((acc,cur) => acc + cur, 0)
// 위 배열의 요소들을 반복, 누적해서 더하는 방식이 필요하기 때문에 reduce()를 이용하여 처리
}
🔶 toString(), map(), parseInt(), reduce() 다시 공부해보자!
function solution(n) {
let result = [];
let arr = String(n).split("").reverse().map((data) => Number(data))
for(let i = 0; i < arr.length; i++) {
result[i] = Number(arr[i])
}
return arr;
}
문제 설명
대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.
예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다.
제한사항
문자열 s의 길이 : 50 이하의 자연수
문자열 s는 알파벳으로만 이루어져 있습니다.
입출력 예
s answer
"pPoooyY" true
"Pyy" false
const solution = (s) => {
let answer = true;
let inP = 0; // P에대한 초기값 선언
let inY = 0; // Y에대한 초기값 선언
let string = s.toLowerCase(); // 소문자로 변경하기
for (let i = 0; i < s.length; i++) { // 반복문 실행
// 조건 수렴 : 소문자로 변경된 문자열에 p가 포함되어 있는 경우 대문자P에대해 반복문 실행
if (string[i].includes('p')) inP++;
// 조건 수렴 : 소문자로 변경된 문자열에 소문자 y가 포함되어 있는 경우 대문자 Y에 대해 반복문 실행
else if (string[i].includes('y')) inY++;
}
if (inP !== inY) answer = false // P,Y가 같지 않다면 false 리턴
return answer;
}