본문 바로가기

코딩 테스트

[프로그래머스] (Lv.1) 서울에서 김서방 찾기

728x90

문제


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

 

 

-  출력 예시  -

정답 코드


<  내 정답 코드  >

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

 

<  타인 답변 코드  >

public class FindKim {
    public String findKim(String[] seoul){
        //x에 김서방의 위치를 저장하세요.
        int x = Arrays.asList(seoul).indexOf("Kim");

        return "김서방은 "+ x + "에 있다";
    }
}

이것을 주의하자!


-  기본적으로 for 문을 돌려서 해당 인덱스를 받은 다음 출력했다. 어렵지 않았다.

 

-  타인 답변 코드를 보면 String [ ] 배열을 List 객체로 바꾼 다음, 해당 값의 인덱스를 찾는 indexOf( ) 메서드를 통해 구했다. 코드가 훨씬 깔끔해졌다.