[Java] 알고리즘, "서울에서 김서방 찾기"

서울에서 김서방 찾기

문제 설명

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


제한 사항

seoul은 길이 1 이상, 1000 이하인 배열입니다.

seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.

Kim은 반드시 seoul 안에 포함되어 있습니다.


입출력 예

seoul

 return

 [Jane, Kim]

김서방은 1에 있다


나의 풀이

1
2
3
4
5
6
7
8
import java.util.*;
 
class Solution {
  public String solution(String[] seoul) {
      List<String> list = Arrays.asList(seoul);
      return "김서방은 "+list.indexOf("Kim")+"에 있다";
  }
}
cs


저도 풀면서 제코드가 불필요한 과정을 구현하지 않더라고 뭔가 더 간결해지고 있다는 것을 느낍니다. 원래 드는 생각은 또 for문 돌면서 equals("kim")같은 구문을 쓰면 될것 같은 쉬운 문제였습니다만, Arrays 클래스에 있는 메소드를 이용하여 지난 번에 배웠던 것을 확인해보고 직접 사용도 해볼 수 있었던것 같습니다.


다른사람의 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
import java.util.*;
 
class Solution {
      public String findKim(String[] seoul){        //x에 김서방의 위치를 저장하세요.
        int x = 0;
        for (String name : seoul) {
              if(name.equals("Kim"))
                break;
              x++;
        }
        return "김서방은 "+ x + "에 있다";
    }
}
cs


위에서 제가 말했던 equals 메소드를 이용해서 Kim을 찾는 방법입니다. 

댓글

Designed by JB FACTORY