본문 바로가기
프로그래머스/level1

[Java][프로그래머스] 서울에서 김서방 찾기

by wave_m 2020. 8. 7.
728x90

문제 설명 : 

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) {
        String answer = "";
        for(int i = 0; i<seoul.length; i++){
            if(seoul[i].equals("Kim")){
                answer = "김서방은 "+i+ "에 있다";
                break;
            }
                
        }
        return answer;
    }
}

 

알고리즘 풀이 :

1. String으로 반환을 해야 되기에 객체 answer을 String으로 선언

2. seoul의 길이만큼 for문을 돌려줌(배열은 인덱스 0부터 시작하니 주의)

3. equals 메서드를 사용해서 seoul 배열에 Kim의 위치를 찾음

- ==을 사용하지 않는 이유는 ==는 참조 변수가 갖고 있는 객체 주소 값을 비교하기 때문에 참조 변수가 갖고 있는 값을 비교하기 위해 equals를 사용

4. answer에 김서방이 몇 번째에 있는지 문자열을 저장

- + 를 사용해서 문장 "김서방은"과 i와 "에 있다"를 이어서 answer에 저장

5. return을 사용해 answer을 반환

728x90