알고리즘 공부/프로그래머스

프로그래머스 코딩테스트 연습 - 연습문제 - 서울에서 김서방 찾기

HRuler 2020. 10. 1. 19:29

1. 문제

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

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

2. 나의 풀이

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

3. 다른 사람 풀이

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

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

1) Arrays 클래스의 asList 메소드

- indexOf 메소드를 사용하면 "Kim"이 seoul 배열에 몇 번째에 저장되어 있는지를 리턴받을 수 있다.