로그인 성공?

김세호·2023년 1월 5일
0

문제


내 풀이

class Solution {
    public String solution(String[] id_pw, String[][] db) {
        String answer = "";
        for(int i = 0 ; i < db.length ; i ++){
            if(!db[i][0].equals(id_pw[0])){// 문자열 비교할 땐 꼭 equals!!!!!
                    answer = "fail";
                }else{
                    if(!db[i][1].equals(id_pw[1])){
                        answer = "wrong pw";
                    }else{
                        answer = "login";
                    }
                    break;
                }   
            }
        return answer;
        }       
    }

다른 사람 풀이 1

import java.util.HashMap;
import java.util.Map;
class Solution {
    public String solution(String[] idPw, String[][] db) {
        //3항연산자 사용해서 1번,2번 조건 모두 충족시 login,1번 조건은 충족, 2번 조건 불충족시 wrong pw, 1번조건 불충족시 fail 
        return getDb(db).get(idPw[0]) != null ? getDb(db).get(idPw[0]).equals(idPw[1]) ? "login" : "wrong pw" : "fail";
    }
    //db를 Map에 넣기
    private Map<String, String> getDb(String[][] db) {
        Map<String, String> map = new HashMap<>();
        for (String[] array : db) {//db를 row 단위로 foreach사용해서 나누기
            map.put(array[0], array[1]);
        }
        return map;
    }
}

다른 사람 풀이 2

class Solution {
    public String solution(String[] id_pw, String[][] db) {
        String answer = "";
        for(int i = 0; i < db.length; i++){
            if(db[i][0].equals(id_pw[0])){// id 같다면
                if(db[i][1].equals(id_pw[1])){// pw도 같다면
                    return "login"; // 로그인
                }
                return "wrong pw"; // id만 같고 pw 다르다면 wrong pw
            }
        }
        return "fail"; //id 같지 않다면 fail
    }
}

0개의 댓글