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 |