본문 바로가기
JAVA 코딩 알고리즘 연습/프로그래머스

프로그래머스 - 로그인 성공? / JAVA (자바) 코딩 알고리즘 연습

by easpop 2022. 12. 15.
728x90
반응형
반응형

처음에는 2차원 배열의 각 index별로 for문 돌려서

아이디 & 비밀번호 일치 -> login을 return

아이디는 일치, but 비밀번호 불일치 -> wrong pw를 return

아이디가 db에 없으면 -> fail을 return

하는 구조로 로직을 짜고 시작 했는데, 일치하는 수식을 ==으로 적용하니 IDE에서는 테스트가 됐지만 프로그래머스 페이지에서는 안되네요ㅜㅜ

그래서 equals를 적용하니 정상 작동합니다.

추가로 Hash map의 key, value 값으로 조회하는 코드를 구글링으로 찾았는데 좋은 코드라고 생각해서 적용해 보았습니다~~!

import java.util.HashMap;
import java.util.Map;

class Solution {
    public String solution(String[] id_pw, String[][] db) {
        String answer = "";
        
		for (int i = 0; i < db.length; i++) {
				if(id_pw[0].equals(db[i][0]) && id_pw[1].equals(db[i][1])) {
					answer = "login";
					break;
				}else if(id_pw[0].equals(db[i][0]) && id_pw[1] != db[i][1]) {
					answer = "wrong pw";
					break;
				}else {
					answer = "fail";
				}
			}
        
        return answer;
    }
}

 

import java.util.HashMap;
import java.util.Map;

class Solution {
    public String solution(String[] id_pw, String[][] db) {
        String answer = "";

        Map<String, String> hashMap = new HashMap<String, String>();

        for (String[] strings : db) {
            hashMap.put(strings[0], strings[1]);
        }

        if(hashMap.containsKey(id_pw[0])) {
            if(hashMap.get(id_pw[0]).equals(id_pw[1])) {
                return "login";
            }else {
                return "wrong pw";
            }
        }else {
            return "fail";
        }

    }
}

 

728x90
반응형

댓글