코딩테스트 19일차
7의 개수
머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.
function solution(array) {
var answer = 0;
for (var i = 0; i < array.length; i++) { // 배열의 각 원소를 탐색
var num = array[i];
while (num > 0) {
if (num % 10 === 7) { // 숫자의 일의 자리가 7인지 확인
answer++;
}
num = Math.floor(num / 10); // 숫자를 10으로 나눠 일의 자리를 없앰
}
}
return answer;
}
✏️풀이
answer 변수를 초기화하여 숫자 7의 개수를 저장할 준비를 합니다.
for 반복문을 사용하여 배열 array의 각 원소를 탐색합니다. 반복문을 통해 원소를 num 변수에 저장합니다.
while 반복문을 사용하여 num이 0보다 클 동안 반복합니다. 이 반복문은 num의 각 자리 숫자를 확인하기 위해 사용됩니다.
num % 10을 통해 num의 일의 자리 숫자를 구합니다. 이 값을 7과 비교하여 일치하면 answer를 증가시킵니다.
Math.floor(num / 10)을 사용하여 num을 10으로 나누어 일의 자리를 없앱니다. 이를 통해 다음 자리 숫자를 확인할 수 있습니다.
위의 과정을 num이 0보다 클 동안 반복합니다. 즉, num의 각 자리 숫자를 확인하면서 7과 일치하는지 확인하고 answer를 증가시킵니다.
반복문이 종료되면 최종적으로 answer에는 배열 array에 포함된 숫자 7의 개수가 저장됩니다.
잘라서 배열로 저장하기
문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.
function solution(my_str, n) {
var answer = [];
for (var i = 0; i < my_str.length; i += n) {
var substring = my_str.slice(i, i + n);
answer.push(substring);
}
return answer;
}
✏️풀이
answer 변수를 빈 배열로 초기화합니다. 이 배열은 my_str을 잘라서 저장할 배열입니다.
for 반복문을 사용하여 my_str을 길이 n씩 잘라서 answer 배열에 저장합니다. 반복문의 인덱스 변수 i는 0부터 시작하여 i가 my_str의 길이보다 작을 동안 n씩 증가합니다.
my_str.slice(i, i + n)을 사용하여 my_str의 i부터 i + n - 1까지의 부분 문자열을 잘라냅니다. 이 부분 문자열을 substring 변수에 저장합니다.
answer.push(substring)을 사용하여 substring을 answer 배열에 추가합니다.
반복문이 종료되면 answer 배열에는 my_str을 길이 n씩 잘라서 저장한 모든 부분 문자열이 저장됩니다.
최종적으로 answer 배열을 반환합니다.
중복된 숫자 개수
정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.
function solution(array, n) {
var answer = 0;
for (var i = 0; i < array.length; i++) {
if (array[i] === n) {
answer++;
}
}
return answer;
}
✏️풀이
answer 변수를 0으로 초기화합니다. 이 변수는 array에 n이 몇 개 있는지를 저장할 변수입니다.
for 반복문을 사용하여 array를 탐색합니다. 반복문의 인덱스 변수 i는 0부터 시작하여 i가 array의 길이보다 작을 동안 증가합니다.
반복문 내부에서 array[i]와 n을 비교하여 같으면 answer 변수를 1 증가시킵니다. 즉, array[i]가 n과 같은 경우에만 answer 값을 증가시킵니다.
반복문이 종료되면 answer 변수에는 array에 포함된 n의 개수가 저장됩니다.
최종적으로 answer 값을 반환합니다.
머쓱이보다 키 큰 사람
머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요.
function solution(array, height) {
var answer = 0;
for (var i = 0; i < array.length; i++) {
if (array[i] > height) {
answer++;
}
}
return answer;
}
✏️풀이
answer 변수를 0으로 초기화합니다. 이 변수는 height보다 큰 값의 개수를 저장할 변수입니다.
for 반복문을 사용하여 array를 탐색합니다. 반복문의 인덱스 변수 i는 0부터 시작하여 i가 array의 길이보다 작을 동안 증가합니다.
반복문 내부에서 array[i]와 height를 비교하여 array[i]가 height보다 크면 answer 변수를 1 증가시킵니다. 즉, height보다 큰 값이 array[i]에 해당하는 경우에만 answer 값을 증가시킵니다.
반복문이 종료되면 answer 변수에는 array에서 height보다 큰 값의 개수가 저장됩니다.
최종적으로 answer 값을 반환합니다.