devlog_owen
자바스크립트 예제문제 문자열 길이,문자열 자르기,문자열 대체,문자열 분할,명시적 형변환 - 숫자 형변환 본문
자바스크립트 예제문제 문자열 길이,문자열 자르기,문자열 대체,문자열 분할,명시적 형변환 - 숫자 형변환
developer_owen 2023. 10. 25. 02:211주차: 기초 문법
- 문자열 길이
// 입력받은 문자열의 길이를 구해서 result 값이 아래와 같이 출력되도록 함수를 완성해 보세요.
function getLengthOfString(str) {
// 이 부분에 코드를 작성하세요.
}
const result = getLengthOfString("abcde");
console.log(result); // 출력 결과: 5
나의 풀이
// 입력받은 문자열의 길이를 구해서 result 값이 아래와 같이 출력되도록 함수를 완성해 보세요.
function getLengthOfString(str) {
return str.length
}
const result = getLengthOfString("abcde");
console.log(result); // 출력 결과: 5
리턴 없이 막무가내로 str.length를 적음. 바보냐.
외울때는 ~~의 길이 이런식으로 외우자.
- 문자열 자르기
// 입력받은 문자열을 잘라서 result 값이 아래와 같이 출력되도록 함수를 완성해 보세요.
// 메소드는 slice 를 이용해 보세요.
function getToken(str) {
// 이 부분에 코드를 작성하세요.
}
const result = getToken("Bearer a012345");
console.log(result); // 출력 결과: 'a012345'
- 나의 풀이
// 입력받은 문자열을 잘라서 result 값이 아래와 같이 출력되도록 함수를 완성해 보세요.
// 메소드는 slice 를 이용해 보세요.
function getToken(str) {
return str.slice(7)
}
const result = getToken("Bearer a012345");
console.log(result); // 출력 결과: 'a012345'
리턴은 했는데 slice가 안되서 어리둥절함. slice가 정의가 안됐다길래 엥? 이거 내장된 함수가 아닌건가? 그랬는데
str.slice로 해야한다.
string.slice(start, end)
문자열을 자를때는 이렇게 해야함.
str.slice(7)와 같이 slice() 메서드를 하나의 인자로 호출하는 경우에는 시작 위치만을 지정하고, 끝 위치를 지정하지 않는 것을 의미
array.slice(start, end)
배열을 자를때는 이렇게 해야함. start번째 숫자부터 end번째 숫자까지 출력함.
- 문자열 대체
// 아래 결과와 같이 출력되도록 newStr에 들어갈 코드를 작성해 보세요.
const str = "I like coffee but I don't like coffee shop.";
const newStr = // replace 메소드를 이용하여 이 부분을 완성해 보세요.
console.log(newStr);
// 출력 결과: "I like tea but I don't like coffee shop."
나의 풀이
// 아래 결과와 같이 출력되도록 newStr에 들어갈 코드를 작성해 보세요.
const str = "I like coffee but I don't like coffee shop.";
const newStr =
str.replace(/coffee/g,"tea")
// replace 메소드를 이용하여 이 부분을 완성해 보세요.
console.log(newStr);
// 출력 결과: "I like tea but I don't like coffee shop."
/coffee/g 부분은 정규 표현식이다. g는 global로 전역을 나타내며 문자내 모든 coffee 를 찾아 바꾼다. 만약 g 플래그를 쓰지 않으면 제일 처음 coffee만 바꾼다.즉 /coffee/g 정규 표현식은 문자열에서 "coffee"를 전역적으로 모두 찾아 교체하라는 의미다.
- 문자열 분할
// 아래 결과와 같이 출력되도록 newStr에 들어갈 코드를 작성해 보세요.
const str = "green/red/yellow/blue/white";
const splittedArr = // split 메소드를 이용하여 이 부분을 작성해 보세요.
console.log(splittedArr);
// 출력 결과: ["green", "red", "yellow", "blue", "white"]
나의 풀이
// 아래 결과와 같이 출력되도록 newStr에 들어갈 코드를 작성해 보세요.
const str = "green/red/yellow/blue/white";
const splittedArr = // split 메소드를 이용하여 이 부분을 작성해 보세요.
str.split("/");
console.log(splittedArr);
// 출력 결과: ["green", "red", "yellow", "blue", "white"]
문자열 메서드군단에게 나는 장렬히 패배했다... 칼 잡는 법, 활 쏘는 법, 대포쏘는 법 다 다르듯이 무슨 다들 하는방법이 다다르다.
string.split(delimiter, limit)
delimiter 은 분할을 위한 구분자다.
const str = "apple,banana,orange,grape,kiwi";
const fruits = str.split(',', 3);
console.log(fruits);
// 출력 결과: ["apple", "banana", "orange"]
limit을 사용하면 분할하여 구분한 요소들 중 limit 수만큼 출력한다. 즉 배열에 저장할 요소 수를 제한한다는 거임.
- 명시적 형변환 - 숫자 형변환
// 문자열을 입력받아도 result 값이 아래와 같이 출력되도록 함수를 완성해 보세요.
// if문과 typeof 키워드를 이용해야 합니다.
function add(a, b) {
// 이 부분을 완성해 보세요.
}
const result1 = add(5, "5");
const result2 = add("5", 5);
console.log(result1); // 출력 결과: 10
console.log(result2); // 출력 결과: 10
나의 풀이
function add(a, b) {
if (typeof a === 'string') {
a = parseInt(a);
}
if (typeof b === 'string') {
b = parseInt(b);
}
return a + b;
}
const result1 = add(5, "5");
const result2 = add("5", 5);
console.log(result1); // 출력 결과: 10
console.log(result2); // 출력 결과: 10
이번에는 parseInt다. parseInt(str) 이런식으로 써야했는데 무리하게 parseInt(a,b)로 인자를 한꺼번에 넣었다.
그리고 또!!!!!멍청하게 return을 안넣음..
'algorithm > 자바스크립트 예제' 카테고리의 다른 글
자바스크립트 예제문제)연산자 - 홀수/짝수 구분,Truthy / Falsy (1) | 2023.10.26 |
---|