일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- JS value속성
- js 변수
- JS 숫자
- JS append
- git 협업셋팅
- JS setInterval
- JS clearInterval
- JS form
- JS appendChild
- JS 연산
- JS localStorage
- JS classList
- CSS속성정리
- JS 기초
- JS 화살표함수
- CSS기초
- JS null undefined
- JS form action
- JS 스코프
- JS 타이머기능
- JS redirection
- JS preventDefault
- JS prompt
- JS 함수
- JS setTimeout
- JS 데이터타입
- JS 형변환
- HTML기초
- JS 삼항연산
- JS typeof연산자
공부기록용
JavaScript 문법 종합(연습03) 본문
Q1. 문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.
function solution(my_string) {
//.split('')을 통해 문자열을 쪼개서 배열로 만들기
const a = my_string.split('');
// .reverse()로 쪼개진 배열을 역순으로 바꾸기
const b = a.reverse();
// .join("")로 요소들을 문자열로 합치기
const c = b.join("");
// console.log(c);
return c;
}
// solution('bread');
daerb
->문자열을 배열로 하나하나 쪼개고, 뒤집고, (뒤집힌)배열을 다시 하나의 문자열로 합치기
☆
function solution(my_string) {
var answer = [...my_string].reverse().join("");
return answer;
}
function solution (my_string) {
var newString = ''
for (let i = my_string.length-1 ; i >= 0; i--) {
newString += my_string[i]
}
return newString
}
☆ Q2. 문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 100
- letter은 길이가 1인 영문자입니다.
- my_string과 letter은 알파벳 대소문자로 이루어져 있습니다.
- 대문자와 소문자를 구분합니다.
function solution(my_string, letter) {
let str = "";
const arr = my_string.split('');
for (let i = 0; i < arr.length; i++) {
if (arr[i] !== letter) str += arr[i];
}
return str;
}
☆
function solution(my_string, letter) {
let answer = "";
for (let i = 0; i < my_string.length; i++) {
if (my_string[i] !== letter) {
answer += my_string[i];
}
}
return answer;
}
function solution(my_string, letter) {
let answer = [];
for(let i = 0; i < my_string.length; i++){
let str = my_string[i];
if(str === letter){
continue;
} else {
answer.push(str);
}
}
return answer.join("");
}
Q3. 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.
- 2 ≤ my_string 길이 ≤ 5
- 2 ≤ n ≤ 10
- "my_string"은 영어 대소문자로 이루어져 있습니다.
function solution(my_string, n) {
var answer = '';
// for문을 사용
// for문1 : i는 0부터; i는my_string의길이수_5보다 작고; my_string의 길이 수 보다 커지면 반복중단 한다는 의미를 지님(->중단 전까지 for2를 반복할것)
// for문2 : j는 0부터; j는 n보다 작고; n보다커지면 answer를 출력하지 않을 것
// answer : 반복이 끝날때 까지의 결과들이 쌓여감
for (var i = 0; i < my_string.length; i++) {
for (var j = 0; j < n; j++) {
answer += my_string[i];
}
}
// console.log(answer);
return answer;
}
// solution('hello', 3)
// hhheeellllllooo
// i=0 -> j = 0 -> 이때의 i는 0으로 my_string[0] -> h -> answer = h
// i=0 -> j = 1 -> 이때의 i는 0으로 my_string[0] -> h -> answer = hh
// i=0 -> j = 2 -> 이때의 i는 0으로 my_string[0] -> h -> answer = hhh
// i=1 -> j = 0 -> 이때의 i는 1으로 my_string[1] -> e -> answer = hhhe
// 의 반복으로 hhheeellllllooo가 되는것
☆다른방식들 다시보기
function solution(my_string, n) {
// 1. 문자열을 쪼개서 배열로 만들기
const arr = my_string.split("");
// 2. 쪼갠 새로운 배열에서 map 함수와 repeat 함수를 써서 각 원소 n만큼 반복
//
//
const arr2 = arr.map(x => x.repeat(n));
// 3. n만큼 반복한 새로운 배열을 다시 문자열로 합치기
const arr3 = arr2.join("");
// console.log(arr3);
//문자열 리턴
return arr3;
}
// solution('hello', 3)
// hhheeellllllooo
function solution(my_string, n) {
var answer = [...my_string].map(v => v.repeat(n)).join("");
console.log(answer);
return answer;
}
map(메소드)
- 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다.
repeat
- 해당 내용을 반복해 준다.
- 문자열로 만들 수도 있고,Array를 사용해서 배열로 나눌 수 도 있다.
let s = 'abcde';
s.repeat(2)
'abcdeabcde'
Array.from(s.repeat(10))
['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
let a = Array[10] //빈공간 10개 생김
Array(10).fill(0) // 빈공간을 0으로 채워주겠다.
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Array(10).fill(0).map((value,index) =>value+index)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Q4. 머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.
제한사항
- 공백도 하나의 문자로 취급합니다.
- 1 ≤ message의 길이 ≤ 50
- 편지지의 여백은 생각하지 않습니다.
- message는 영문 알파벳 대소문자, ‘!’, ‘~’ 또는 공백으로만 이루어져 있습니다.
function solution(message) {
var answer = message;
var num = answer.length*2;
console.log(num);
return num;
}
solution("happy birthday!")
function solution(message) {
return message.length*2;
}
Q5. 영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- my_string은 소문자와 공백으로 이루어져 있습니다.
- 1 ≤ my_string의 길이 ≤ 1,000
function solution(my_string) {
var answer = my_string;
var del = my_string.replace(/a|e|i|o|u/g, "");
// console.log(del);
return del;
}
// solution('nice to meet you');
// nc t mt y
function solution(my_string) {
let answer = "";
for (i = 0; i < my_string.length; i++) {
if (
my_string[i] != "a" &&
my_string[i] != "e" &&
my_string[i] != "i" &&
my_string[i] != "o" &&
my_string[i] != "u"
) {
answer += my_string[i];
}
}
return answer;
}
function solution (my_stirng) {
var newString = ''
for (let i = 0; i <= my_stirng.length-1; i++) {
if (my_stirng[i] === 'a') {
continue
} else if (my_stirng[i] === 'e') {
continue
} else if (my_stirng[i] === 'i') {
continue
} else if (my_stirng[i] === 'o') {
continue
} else if (my_stirng[i] === 'u') {
continue
}else {
newString += my_stirng[i]
}
}
return newString
}
function solution(my_string) {
return my_string.replace(/a|e|i|o|u/g, "");
//return my_string.replace(/[aeiou]/g, '');
//return my_string.replace(/[a,e,i,o,u]/g, '');
}
Q6. 문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ str1의 길이 ≤ 100
- 1 ≤ str2의 길이 ≤ 100
- 문자열은 알파벳 대문자, 소문자, 숫자로 구성되어 있습니다.
function solution(str1, str2) {
// .includes() 를 사용해서 str1에 str2가 들어가 있는지 알아보기(trul, false로 반환)
// true, false를 반환하는 것을 생각해서 삼항연산식으로 과정 만들기
return str1.includes(str2) ? 1 : 2 ;
}
console.log(solution("ab6CDE443fgh22iJKlmn1o", "6CD"))
// 1
function solution(str1, str2) {
let answer = [];
for (let i = 0; i < str1.length; i++) {
for (let j = 0; j < str2.length; j++) {
if (str1[i] === str2[j]) {
answer.push(str2[j]);
}
}
}
if (answer.join("") === str2) {
return 1;
} else {
return 2;
}
}
'✍️문제풀기✍️ > JS_Programmers school' 카테고리의 다른 글
JavaScript 문법 종합(연습06) (0) | 2023.05.31 |
---|---|
JavaScript 문법 종합(연습05) (2) | 2023.05.30 |
JavaScript 문법 종합(연습04) (1) | 2023.05.29 |
JavaScript 문법 종합(연습02) (0) | 2023.05.25 |
JavaScript 문법 종합(연습01) (0) | 2023.05.25 |