TIL 16일차

김동현·2022년 11월 22일

TIL

목록 보기
14/93

알고리즘 16번(문자열 내 p와y의 개수)

function solution(s){
	let l = s.toLowerCase() //l변수에 s매개변수 값을 모두 소문자로 만듬
    					    // toUpperCase 는 대문자로
    
    if(l.split('p').length === l.split('y').length){
    // 만약 l변수에있는 p기준 길이와 l변수에 있는 y기준 길이가 같으면
    	return true
        참으로 출력
    }
    else{
    	return false // 아닐시 거짓으로 출력
    }
}

알고리즘 17번(문자열 다루기 기본)

function solution(s){
	if((s.length==4 || s.length == 6) && s == parseInt(s)){
    // (연산자 우선순위) || 외벽에 괄호를 써줘야 4혹은 6이라는 조건을 성립 하면서 && s가 숫자로 구성되어 있는지 확인하는 조건을 써주었다!
    	return true; // 조건이 충족하면 참
    }
    else{
    	return false; // 아니면 거짓으로 출력!
    }
}

알고리즘 18번(서울에서 김서방 찾기)

function solution(seoul){
	for(let i in seoul){ // seoul 배열의 인덱스를 가져오기위해 for in을 썻습니다 
    	if(seoul[i]==="Kim"){ // 만약 seoul[i]번째에 "Kim" 이 있으면
        	retrun "김서방은 "+i+"에 있다"
            // "김서방은 1에 있다!" i가 인덱스 1에 있으므로 앞에와 같이 출력됨 
        }
    }
}

알고리즘 19번(수박수박수박수박수)

function solution(n){
	let answer='' // 변수 answer 선언
    for(let i=0; i<n;i++){ 반복문 n번까지
    	answer+= i%2===0 ? '수' : '박' 
        // i%2 가 0으로 나누어 떨어질때 참이면 수를 answer에 넣고 거짓이면 박을 넣는다
    }
    return answer // answer값을 반환해준다!!
}

알고리즘 20번(완주하지 못한 선수)

function solution(participant,completion){
	let p = participant.sort()
    let c = completion.sort()
    // 변수 p,c를 오름차순으로 정렬
    for(let i =0; i<participant.length;i++){
    	if(p[i] !== c[i]){ // 만약 p의 i번째 인덱스와 c의 i 번째 인덱스가 같지않으면
        	return p[i] p[i] 값을 반환해준다!
        }
    }
}

알고리즘 21번(이상한 문자 만들기)

function solution(s) {
    var x = s.split(' '); // x 변수에 s공백 기준으로 잘라 담아둡니다.
    var answer = [];    // answer 변수에 빈배열 선언해 줍니다
    for (let i = 0; i < x.length; i++) { //x의 길이만큼 반복
        answer.push(x[i].split('').map((cur, j) => j%2 ? cur.toLowerCase() : cur.toUpperCase()).join(''));
        // answer배열에 push합니다
        // x[i].split('') -> x[0].split('') ='t','r','y' 이렇게 나뉘어 집니다.
        // map함수를 써서 map 값, 인덱스 구분후 => 인덱스 %2 ? 참(1) : 거짓(0)
        // 여기선 참,거짓은 의미가 없고 인덱스 %2 ? 1(조건 만족) : 0(조건만족)
        // 값을 소문자 : 대문자로 한뒤 join을 써서 합친다.
    }
  return answer.join(" ");
    //나누어진 배열을 다시 또 합치는 join(' ')을 사용한다!
}

알고리즘 22번(자릿수 더하기)


1번째 방법

function solution(n){
	let answer=0 // answer변수에 0으로 선언해줌
    let t = n.toString() //변수 t에 n을 문자열로 바꾸고 값을담음
    
    for(let i =0; i<t.length; i++){ //t의 길이만큼 반복
    	answer += parseInt(t[i]) 
        // answer변수에 t[i]번째 문자열들을 parseInt를 써서 숫자로 변경후 값을 담았다
    }
    return answer //answer값을 반환
}

2번째 방법

function solution(n){
	let answer=0
    let t=n.toString()
    
    for(let i of t){
    	answer+=parseInt(i)
    }
    return answer 
}
profile
꺽이지 않는 마음

0개의 댓글