본문 바로가기

프로그래머스(Java)/Level 0

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

728x90

코드 힌트

  1. HashMap 사용하기:
    • HashMap을 사용하지 않고, for 루프를 사용하여 사용자 정보를 직접 검색할 수도 있습니다.
    • HashMap을 사용하면 사용자 정보를 효율적으로 저장하고 검색할 수 있습니다.
    • HashMap<String, String>을 사용하여 사용자 ID를 키로, 비밀번호를 값으로 저장합니다.
  2. 데이터베이스 배열 순회:
    • db 배열을 순회하면서 사용자 ID와 비밀번호를 HashMap에 추가합니다.
    • 각 사용자의 ID를 키로, 비밀번호를 값으로 저장하여 나중에 쉽게 검색할 수 있습니다.
  3. 비밀번호 확인:
    • id_pw[0] (사용자 ID)를 키로 HashMap에서 비밀번호를 검색합니다.
    • 비밀번호가 존재하지 않으면 "fail"을 반환합니다.
    • 비밀번호가 다르면 "wrong pw"를 반환합니다.
    • 비밀번호가 맞으면 "login"을 반환합니다.

 

 


정답은 더보기 클릭

더보기
import java.util.*;

class Solution {
    public String solution(String[] id_pw, String[][] db) {
        // 사용자 정보를 저장할 HashMap을 생성합니다.
        HashMap<String,String> userMap = new HashMap<>();
        
        // 데이터베이스 배열을 순회하며 HashMap에 사용자 정보를 추가합니다.
        for (String[] userInfo : db) {
            userMap.put(userInfo[0], userInfo[1]); // 사용자 ID를 키로, 비밀번호를 값으로 저장합니다.
        }
        
        // 주어진 ID로 비밀번호를 가져옵니다.
        String pw = userMap.get(id_pw[0]);
        
        // 사용자 ID가 존재하지 않는 경우 "fail"을 반환합니다.
        if (pw == null) {
            return "fail";
        }
        
        // 비밀번호가 맞지 않는 경우 "wrong pw"를 반환합니다.
        if (!id_pw[1].equals(pw)) {
            return "wrong pw";
        }
        
        // 비밀번호가 맞는 경우 "login"을 반환합니다.
        return "login";
    }
}
728x90