728x90
# 문제
머쓱이는 프로그래머스에 로그인하려고 합니다. 머쓱이가 입력한 아이디와 패스워드가 담긴 배열 id_pw와 회원들의 정보가 담긴 2차원 배열 db가 주어질 때, 다음과 같이 로그인 성공, 실패에 따른 메시지를 return하도록 solution 함수를 완성해주세요.
아이디와 비밀번호가 모두 일치하는 회원정보가 있으면 "login"을 return합니다.
로그인이 실패했을 때 아이디가 일치하는 회원이 없다면 “fail”를, 아이디는 일치하지만 비밀번호가 일치하는 회원이 없다면 “wrong pw”를 return 합니다.
# 답안
// 1. 입력: 배열 id_pw, 2차원 배열 db
// 2. 출력: 전부 일치-> login, 아디만 일치 -> wrong pw, 전부 불일치 -> fail
// some 함수 사용해서
// db.some(user[0]===id_pw[0] && user[1]===id_pw[1]) 이면 login
// db.some(user[0]===id_pw[0] && user[1]!==id_pw[1]) 이면 wrong pw
// db.some(user[0]!==id_pw[0] && user[1]!==id_pw[1]) 이면 fail
function solution(id_pw, db) {
if (db.some(user=> user[0]===id_pw[0] && user[1]===id_pw[1])){
return "login"
}else if(db.some(user=> user[0]===id_pw[0] && user[1]!==id_pw[1])){
return "wrong pw"
}else if(db.some(user=> user[0]!==id_pw[0] && user[1]!==id_pw[1])){
return "fail"
}
}
# 인사이트
// some() 함수는 조건을 만족하는 요소가 발견되면 즉시 실행을 중단하고 true를 반환한다. 만약 배열을 끝까지 순회했는데도 조건을 만족하는 요소를 찾지 못하면 false를 반환한다.
728x90
'Coding Test > Programmers' 카테고리의 다른 글
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 82 - 저주의 숫자 3) (0) | 2024.04.23 |
---|---|
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 81 - 치킨 쿠폰) (0) | 2024.04.23 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 79 - 캐릭터의 좌표) (0) | 2024.04.23 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 78 - 종이 자르기) (0) | 2024.04.19 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 77 - 외계어 사전) (0) | 2024.04.19 |