본문 바로가기

알고리즘

타임어택 특강

728x90

타임어택 특강

 

2시간 주어진 시간 내에 4문제 중 3문제 이상 풀어 제출해야 하는 과제

나는 파이썬으로 제출했었다.

 

JavaScript로도 구현해보고 복습하는 의미에서 문제를 다시 풀어보았다.


📄 각도기

function solution(angle) {
    var answer = 0;
    if(angle > 0 && angle < 90){
        answer = 1
    } else if(angle === 90){
        answer = 2
    } else if(angle > 90 && angle < 180){
        answer = 3
    } else if(angle === 180){
        answer = 4
    }
    return answer;
}

angle = 30
console.log(solution(angle))

📄 옷가게 할인받기

function solution(price) {
    var answer = price;
    if(price >= 500000){
        answer = price * (1-0.20)
    } else if(price >= 300000){
        answer = price * (1-0.10)
    } else if(price >= 100000){
        answer = price * (1-0.05)
    }
    return answer;
}

input = 150000
console.log(solution(input))

 

📄 369게임

function solution(order) {
    const orderStr = order.toString()
    let answer = 0

    for(let i=0; i<orderStr.length; i++){
        if(orderStr[i] === '3' || orderStr[i] === '6' || orderStr[i] === '9'){
            answer += 1
        }
    }

    return answer
}

input = 29432
console.log(solution(input));

📄 로그인 성공?

function solution(id_pw, db) {
    for(i of db){
        if(i[0] === id_pw[0] && i[1] === id_pw[1]){
            answer = 'login'
        } else if(i[0] === id_pw[0] && i[1] != id_pw[1]){
            answer = 'wrong pw'
        } else if(i[0] != id_pw[0] && i[1] != id_pw[1]){
            answer = 'fail'
        }
    }
    return answer;
}

 

📄 튜터님 풀이

function solution(id_pw, db) {
    let answer = 'fail'
    for(const userInfo of db) {
        if(id_pw[0] === userInfo[0]){
            answer = (id_pw[1] === userInfo[1])? 'login' : 'wrong pw'
            break
        }
    }
    return answer;
}

삼항 연산자 이용!

코드가 간결하고 보기 편한 듯 하다.

 

📄 참고해서 나의 코드 수정

function solution(id_pw, db) {
    let answer = 'fail'
    for(i of db){
        if(i[0] === id_pw[0] && i[1] === id_pw[1]){
            answer = 'login'
        } else if(i[0] === id_pw[0] && i[1] != id_pw[1]){
            answer = 'wrong pw'
        } 
    }
    return answer;
}

'알고리즘' 카테고리의 다른 글

코딩 테스트 연습 14일  (0) 2022.12.14
코딩 테스트 연습 12일, 13일  (0) 2022.12.13
자료구조 3주차_큐&해쉬  (0) 2022.11.28
자료구조 2주차 복습&숙제  (0) 2022.11.28
자료구조 3주차_스택  (0) 2022.11.25