๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Programmers lv-0

๋กœ๊ทธ์ธ ์„ฑ๊ณต? - Java [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž…๋ฌธ]

by ๊ทคํ”ผํ‚ค 2022. 11. 28.

 

โค๏ธ Problem

๋”๋ณด๊ธฐ
  • ๋ฌธ์ œ
    ๋จธ์“ฑ์ด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์— ๋กœ๊ทธ์ธํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋จธ์“ฑ์ด๊ฐ€ ์ž…๋ ฅํ•œ ์•„์ด๋””์™€ ํŒจ์Šค์›Œ๋“œ๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด id_pw์™€ ํšŒ์›๋“ค์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ธด 2์ฐจ์› ๋ฐฐ์—ด db๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋กœ๊ทธ์ธ ์„ฑ๊ณต, ์‹คํŒจ์— ๋”ฐ๋ฅธ ๋ฉ”์‹œ์ง€๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

    1) ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋ชจ๋‘ ์ผ์น˜ํ•˜๋Š” ํšŒ์›์ •๋ณด๊ฐ€ ์žˆ์œผ๋ฉด "login"์„ returnํ•ฉ๋‹ˆ๋‹ค.
    2) ๋กœ๊ทธ์ธ์ด ์‹คํŒจํ–ˆ์„ ๋•Œ ์•„์ด๋””๊ฐ€ ์ผ์น˜ํ•˜๋Š” ํšŒ์›์ด ์—†๋‹ค๋ฉด “fail”๋ฅผ, ์•„์ด๋””๋Š” ์ผ์น˜ํ•˜์ง€๋งŒ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜๋Š” ํšŒ์›์ด ์—†๋‹ค๋ฉด “wrong pw”๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.

 

  • ์ œํ•œ ์‚ฌํ•ญ
    • ํšŒ์›๋“ค์˜ ์•„์ด๋””๋Š” ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.
    • ํšŒ์›๋“ค์˜ ์•„์ด๋””๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž์™€ ์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํšŒ์›๋“ค์˜ ํŒจ์Šค์›Œ๋“œ๋Š” ์ˆซ์ž๋กœ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.
    • ํšŒ์›๋“ค์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ๊ฐ™์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์•„์ด๋””๋Š” ๊ฐ™์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
    • id_pw์˜ ๊ธธ์ด๋Š” 2์ž…๋‹ˆ๋‹ค.
    • id_pw์™€ db์˜ ์›์†Œ๋Š” [์•„์ด๋””, ํŒจ์Šค์›Œ๋“œ] ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค.
    • 1 ≤ ์•„์ด๋””์˜ ๊ธธ์ด ≤ 15
    • 1 ≤ ๋น„๋ฐ€๋ฒˆํ˜ธ์˜ ๊ธธ์ด ≤ 6
    • 1 ≤ db์˜ ๊ธธ์ด ≤ 10
    • db์˜ ์›์†Œ์˜ ๊ธธ์ด๋Š” 2์ž…๋‹ˆ๋‹ค.

 

  • ์ž…์ถœ๋ ฅ ์˜ˆ & ์„ค๋ช…
no id_pw db result
1 ["meosseugi", "1234"] [["rardss", "123"], ["yyoom", "1234"], ["meosseugi", "1234"]] "login"
2 ["meosseugi", "1234"] [["programmer02", "111111"], ["programmer00", "134"],
["programmer01", "1145"]]
"wrong pw"
3 ["rabbit04", "98761"] [["jaja11", "98761"], ["krong0313", "29440"], ["rabbit00", "111333"]] "fail"
  1. db์— ๊ฐ™์€ ์ •๋ณด์˜ ๊ณ„์ •์ด ์žˆ์œผ๋ฏ€๋กœ "login"์„ returnํ•ฉ๋‹ˆ๋‹ค.
  2. db์— ์•„์ด๋””๋Š” ๊ฐ™์ง€๋งŒ ํŒจ์Šค์›Œ๋“œ๊ฐ€ ๋‹ค๋ฅธ ๊ณ„์ •์ด ์žˆ์œผ๋ฏ€๋กœ "wrong pw"๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.
  3. db์— ์•„์ด๋””๊ฐ€ ๋งž๋Š” ๊ณ„์ •์ด ์—†์œผ๋ฏ€๋กœ "fail"์„ returnํ•ฉ๋‹ˆ๋‹ค.

 


 

๐Ÿ’› Solution

ํ’€์ด

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";
                    break;
                } else {
                    if(answer.contains("login")) {
                        continue;
                    } else {
                        answer = "wrong pw";
                    }
                }
            } else {
                if(!answer.equals("login") && !answer.equals("wrong pw")) {
                    answer = "fail";
                }
            }
        }
        return answer;
    }
}

 

์ฒ˜๋ฆฌ์†๋„ Very Good

 


 

๐Ÿ’œ Comment

์ฒ˜์Œ์—๋Š” Map์— ๋„ฃ์–ด์„œ ํ™œ์šฉํ• ๊นŒ ํ–ˆ๋Š”๋ฐ, db[i][0]์€ ID์ด๊ณ  db[i][1]์€ PW๋กœ ํ˜•ํƒœ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์–ด์„œ ์กฐ๊ฑด๋ฌธ์„ ํ™œ์šฉํ•˜๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์„œ ์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.

answer์ด "login"์ด๋ฉด ๊ทธ ๋’ค์— ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋˜์ง€ ์ƒ๊ด€ ์—†์œผ๋ฏ€๋กœ ๋ฐ”๋กœ ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ€๋„๋ก ํ–ˆ๋‹ค. answer์ด "wrong pw"์ธ ๊ฒฝ์šฐ์—๋Š” "login"์ธ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ  ์‹คํŒจ ๊ฒฐ๊ณผ๊ฐ€ ๋ฎ์–ด์“ฐ์ง€ ๋ชปํ•˜๋„๋ก ๊ตฌํ˜„ํ–ˆ๋‹ค. ๋”ฐ๋ผ์„œ answer์ด "login"๋„ "wrong pw"๋„ ์•„๋‹Œ ๊ฒฝ์šฐ๋งŒ "fail" ๊ฐ’์ด ๋“ค์–ด๊ฐ€๋„๋ก ๊ตฌํ˜„ํ–ˆ๋‹ค.

 

+3์ !!!!!!!!! (์บก์ณ๋Š” ์–ด๋””๋ก ๊ฐ€ ๋‚ ์•„๊ฐ€๋ฒ„๋ ธ๋‹ค) ํ˜„์žฌ ์ˆœ์œ„ 11986์œ„ ๐Ÿ’ช

 

 

 

 

๋Œ“๊ธ€