TIL 15 일차

김동현·2022년 11월 21일

TIL

목록 보기
13/93

알고리즘 11번(x만큼 간격이 있는 n개의 숫자)

function solution(x,n){ //함수 solution에 매개변수 x,n을 선언
	let answer =[]; // answer변수에 빈 배열 선언
    for(let i=1; i<=n;i++){ 변수 i는 1부터 n번까지 i가 1씩증가하는 반복문이다.
    	answer.push(x*i) 
        // answer변수 push()메소드를 사용하여 x값과 i값을 곱하면서 배열에 한칸씩 추가
        // ex) x=2 i=1 [2] / x=2 i=2 [2,4] ... 
        // push() : 마지막에 새로운 요소를 추가하고 난후 변경된 배열의 길이 반환하는 함수
    }
}

알고리즘 12번(부족한 금액 계산하기)

function(price,money,count){
	let answer = 0; // 변수 answer 값 : 0 선언
    for(let i=1; i<=count;i++){ // i는 1부터 count까지 1씩증가하는 반복문
    	answer+=price*i // price과 i을 곱한값을 담는다 
    }
    return answer>money ? answer-money : 0
    // answer값이 money값보다 크면 참일때 answer값에서 money값을 빼고 거짓일때 0으로 출력
}

알고리즘 13번(2016년)

function solution(a,b){
	let week='' // 변수 week선언
    const day=['SUN','MON','TUE','WED','THU','FRI','SAT']
    // 상수 day값에 요일이름 일 ~ 토요일
    week = new Date(2016,a-1,b).getDay()
    // new Date() : 시간과 날짜를 표현하는 객체
    // (2016,a-1,b) - 2016년도 a-1은 Month인데 1월이 인덱스 0부터 시작해서 -1을 해줘야 함
    // b는 일을 나타냄 , new Date에 있는 getDay()메소드 사용히면 일~토요일 인덱스 값 (0: 일 ~ 6 : 토)을 나타내줌
    
    return day[week] // day[2] 나오므로 결과 값은 THU가 나옵니다!!
}

참조 : https://devjhs.tistory.com/80

알고리즘 14번(나누어 떨어지는 숫자 배열

function solution(arr,divisor){
	let answer=''
    arr.sort((a,b)=>{ //arr 배열 오름차순 메소드 사용 
    	return a-b
    })
    for(let i =0; i<arr.length;i++){ // for문 써서 arr길이 만큼 반복
    	if(arr[i]%divisor===0){ // 만약 arr[i]번째가 divisor나눈 나머지가 0일때
        	answer.push(arr[i]) //answer에 조건 충족하는 arr[i]을 배열에 추가함
        }
    }
    if(answer.length===0){ // 만약 answer의 길이가 0일땐 answer에 -1값을 배열에 추가
    	answer.push(-1)
    }
}

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

function solution(s){
	let t = s.toLowerCase() // s값을 모두 소문자로 변경
    						// 대문자로 바꾸고 싶을땐 .toUpperCase()
    if(t.split('p').length === t.split('y').length){
    // 만약 t를 p기준으로 자른 길이가  y기준으로 자른 길이랑 같을때
        return true // true 반환
    }
    else{
    	return false // 아닐시에는 false 반환
    }
}
profile
꺽이지 않는 마음

0개의 댓글