alorithm/programmers

[JAVA/프로그래머스] Lv1. 서울에서 김서방 찾기

Hannana. 2023. 4. 26. 00:31
반응형

[문제 설명]

String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.

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


<입출력 예>

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




 

[풀이]

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

    }
}

 

 

 

 

String값 비교 때는 비교 연산자(==)가 안먹힌다. 문자열은 같지만 객체가 다르면 값이 다르게 인식되기 때문.

자바에서는 문자열을 비교할 때 equals() 를 사용해야 원하는 결과를 얻을 수 있다.

저번에도 언급했듯 단순한 코드는 for문을 그냥 사용하는게 공간적/시간적으로 효율적이다.

이것도 단순 반복문이 가장 효율이 좋으므로 굳이 라이브러리는 사용하지 않았다.

 

 

 

 

 

 

반응형