서울에서 김서방 찾기_Java

컴투루·2022년 6월 27일
0

프로그래머스 Lv.1

목록 보기
17/38

연습문제

🔥 서울에서 김서방 찾기 🔥


👀 문제

String형 배열 seoul의 element 중 "Kim"의 위치 x를 찾아 "김서방은 x에 있다"는 String을 반환하는 함수 solution을 완성해보자


✔️ 조건

  • seoul은 길이 1 이상, 1000 이하인 배열입니다.
  • seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
  • "Kim"은 반드시 seoul 안에 포함되어 있습니다.

👩‍💻 입력 & 🧙 출력

seoulreturn
["Jane", "Kim"]"김서방은 1에 있다"

🙋‍♀️ 풀이

class Solution {
    public String solution(String[] seoul) {
        String answer;
        int n=0;
        for(int i=0;i<seoul.length;i++){
            if(seoul[i].equals("Kim")){
                n=i;
            }
        }  
        answer = "김서방은 "+n+"에 있다"; 
        return answer;
    }
}

반복문을 돌리면서 equals로 문자열을 비교했는데 코드를 보면 필요없는 변수n이 있다. 처음에는 n=i 자리에 answer = "김서방은 "+i+"에 있다" 를 넣었더니 오류가 발생했다.

그래서 어쩔수 없이 변수하나를 만들어서 넣어줬는데
다 풀고 생각해보니

class Solution {
    public String solution(String[] seoul) {
        for(int i=0;i<seoul.length;i++){
            if(seoul[i].equals("Kim")){
                return  "김서방은 "+i+"에 있다"; 
            }
        }       
        return null;
    }
}

그냥 return해버리면 되는것!


💬 다른 풀이

class Solution {
  public String solution(String[] names) {
        for (int i = 0; i < names.length; i++) {
            if (names[i].equalsIgnoreCase("kim")) {
                return "김서방은 " + i + "에 있다";
            }
        }
        return null;
    }
}

나는 equals를 통해 비교를 했는데 equalsIgnoreCase를 비교를 해놓은 코드가 있어서 둘을 비교해봤다.


profile
맘 먹으면 못할 게 없지

0개의 댓글