JSEXP2

바유·2022년 4월 20일
0

JSEXP

목록 보기
2/3
post-thumbnail

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') => true

function 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 너무 화난다. 하루에도 그만둘까 생각을 몇번 하는지 모르겠다. 도중에 포기하는생각하나만큼은 제일 많이 할듯

0개의 댓글