[프로그래머스] 로그인 성공?.JS

ungnam·2023년 6월 8일

programmers level0

목록 보기
28/29

https://school.programmers.co.kr/learn/courses/30/lessons/120883

나의 풀이

function solution(id_pw, db) {
    const db_id = db.map((v) => v[0]);
    const db_pw = db.map((v) => v[1]);
    
    if (db_id.includes(id_pw[0])) {
        if (db[db_id.indexOf(id_pw[0])][1] === id_pw[1]) {
            return "login";
        }
        return "wrong pw";
    }
    return "fail";
}

✔ 아이디 찾기를 위해 includes(), 비밀번호 찾기를 위해 indexOf() 메서드를 사용
find()로 요소 자체를 찾아내고 요소가 없으면 fail, 있는데 찾은 요소의 비밀번호가 id_pw[1]과 같지 않으면 wrong pw, 일치하면 login을 리턴하면 더 간단하지 않았을까 생각이 든다.

참고할 만한 풀이

function solution(id_pw, db) {
  	const [id, pw] = id_pw;
    const m = new Map(db);
  	return m.has(id) 
    	? m.get(id) === pw ? "login" : "wrong pw"
  		: "fail"; 
}

idpw는 서로 대응되는 관계 -> Map을 통해서 키-값 쌍으로 구현하면 hasget 메서드를 통해서 키의 존재 여부 및 키에 해당하는 비밀번호를 찾아낼 수 있다.

profile
꾸준함을 잃지 말자.

0개의 댓글