2-26
임의의 문자열과 기호를 입력받아, 문자열에 포함되어있는 기호의 개수를 알려주는 함수를 완성하세요
- 빈 문자열을 입력받은 경우, 0을 리턴해야 합니다
ex ) 매개변수로 "+-*%+" 와 "+" 을 차례대로 받을 경우
"+" 기호의 갯수인 2를 리턴해주세요.
function finder(str, op) { let count =0 for(let i= 0; i<str.length; i++){ if(str[i] === op){count = count+1} }return count }
count가 기호의 갯수! str[i]= i번째
2-27
임의의 문자열을 입력받아, 각 글자로 만들 수 있는 길이 2의 문자열들을 모두 확인하여
새로운 배열에 담아 반환하는 함수를 완성하세요.
- 입력 문자열의 길이는 제한이 없습니다
ex) league('ab') => ["aa", "ab", "ba", "bb"]
이중 반복문을 사용해야 합니다function league(str) { let result=[] for(let i=0; i<str.length; i++){ for(let j=0; j<str.length; j++) {result.push(str[i]+str[j]); }} return result}
str.length = 2 이고 push 는 배열뒤에 다른result값을 첨가해 나열시켜주기위해 사용했다.
2-28
임의의 문자열을 입력받아, 문자열 내 중복된 글자가 있으면 true를, 없으면 false를 반환하는 함수를 완성하세요
ex) isUnique('abcd') => false
isUnique('0102') => truefunction isUnique(str) { for(let i= 0; i<str.length; i++){ for(let j= i+1; j<str.length; j++) if(str[i]===str[j]){return true} }return false }
이중반복문으로 골치아픈문제.. (i,j)라고 가정하면
for문 순서로인해
(0,1)
(0,2)
(0,3)
(1,1) <- j가 3에서1로 리셋
(1,2)
(1,3)
(2,1) <- j가 3에서1로 리셋
(2,2)
(2,3) 이렇게 간다
= 의 의미
왼쪽=오른쪽 : 오른쪽 것을 왼쪽으로 대입한다.
==의 의미
왼쪽==오른쪽 : 왼쪽하고 오른쪽이 같냐?(단,타입제외) boolean 값으로나옴!
===의 의미
왼쪽===오른쪽 : 왼쪽하고 오른쪽이 같냐?(전부다같아야함) boolean 값으로나옴!
이점 유의하자 !
p.s
이론수업도 어렵고 js 너무 화난다. 하루에도 그만둘까 생각을 몇번 하는지 모르겠다. 도중에 포기하는생각하나만큼은 제일 많이 할듯