[18/07/03] 프로그래머스- Level 1 서울에서 김서방 찾기
2018. 7. 3. 23:06
서울에서 김서방 찾기
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) {
List<String> list = new ArrayList<>(Arrays.asList(seoul));
String answer = "김서방은 " +list.indexOf("Kim")+"에 있다";
return answer;
}
}
이번문제도 어렵지 않았다.
list.addAll(Arrays.asList(seoul));
Collections.addAll(list,seoul);
윗부분을 아래와 같이 Intelli J의 도움을 받아 좀더 간결하게 작성할 수 있다는 점을 배웠다. 물론 Collection.addAll로 쓰면 굳이 아래와 같이 할 필요는 없다.
확인해보니 addAll이나 asList를 쓰게되면 원시형타입을 쓸수가 없다고 한다 .(int X Integer O)
그래서 for문으로 add로 하나씩 옮겨야 한다. 자세한건 Java 카테고리에 포스팅해야겠다.
배열 자체로 indexOf를 쓰는 방법을 몰라 List로 배열을 복사했다는 점이 조금 수고스럽기도 하고 효율이 떨어지는 것 같다.
List<String> list = new ArrayList<>(Arrays.asList(seoul));
배운점
asList를 이용한 배열 -> List 복사
공부할 것
asList 및 Arrays 메소드, Array복사 방법 및 종류
'Get IT Note > 알고리즘' 카테고리의 다른 글
[18/07/05] 프로그래머스- Level 1 문자열을 정수로 바꾸기 (0) | 2018.07.05 |
---|---|
[18/07/03] 프로그래머스- Level 1 수박수박수박수박수박수? (0) | 2018.07.04 |
[18/07/03] 프로그래머스- Level 1 문자열 내 p와 y의 개수 (0) | 2018.07.03 |
[18/07/02] 프로그래머스- Level 1 문자열 다루기 기본 (0) | 2018.07.03 |
[18/07/01] 프로그래머스- Level 1 같은 숫자는 싫어 (0) | 2018.07.01 |