
🧫 문제 분석
✔️ 출처
https://school.programmers.co.kr/learn/courses/30/lessons/120883
📖 문제

id,pw와 db 값 확인 및 결과 출력
🔅 문제풀이
처음시도
- 쉬운 문제라고 생각하고 막 풀다가 큰코 다쳤다.
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])){
if(id_pw[1].equals(db[i][1])){
answer = "login";
}else{
answer = "wrong pw";
}
}else{
answer = "fail";
}
}
return "fail";
}
}
이중 배열이 순회하면서 값이 계속 중첩 된다는걸 생각하지 못했다.
예를 들면 [abc,123]이 id_pw 면 db는 [[abc,321],[asd,122]]에서
첫번째 순회시 "wrong pw" 가 answer에 초기화되고
두번째 순회시 id pw에 맞는 값이 없어 "fail"로 초기화된다
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])){
if(id_pw[1].equals(db[i][1])){
return "login";
}else{
return "wrong pw";
}
}
}
return "fail";
}
}
값 나오자마자 바로바로 return하는게 맞았다..
❗ 오답노트 / 필요한 지식
- 반복문시 리턴값이 바뀔 가능성이 있다면 값나온 순간에 리턴하자
- 생각해보고 풀자!
'programmers' 카테고리의 다른 글
조이스틱 [자바] (1) | 2025.02.14 |
---|---|
프로그래머스 Lv0 캐릭터의 좌표 (0) | 2024.06.26 |
프로그래머스 Lv 0 배열 회전시키기 (0) | 2024.06.26 |