JAVA 코딩 알고리즘 연습/프로그래머스
프로그래머스 - 로그인 성공? / JAVA (자바) 코딩 알고리즘 연습
easpop
2022. 12. 15. 16:11
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
반응형