반응형
Java, Javascript 프로그래머스 Level1 서울에서 김서방 찾기
읽어보시면 아시겠지만, 문제는 간단합니다.
String배열에서 Kim 문자열이 있는 인덱스를 리턴하면 됩니다.
자바 코드부터 보도록 하죠.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 |
public class FindKim {
public String findKim(String[] seoul){
//x에 김서방의 위치를 저장하세요.
int x = 0;
for(int i=0; i<seoul.length; i++){
if(seoul[i].equals("Kim")){
x = i;
break;
}
}
//x = Arrays.asList(seoul).indexOf("Kim");
return "김서방은 "+ x + "에 있다";
}
// 실행을 위한 테스트코드입니다.
public static void main(String[] args) {
FindKim kim = new FindKim();
String[] names = {"Queen", "Tod","Kim"};
System.out.println(kim.findKim(names));
}
} |
cs |
대부분의 분들이 저와 같이 풀었더군요.
배열의 개수만큼 반복문을 돌아 Kim이 있는 인덱스를 리턴하는 방식.
아래 주석은 배열을 List 형태로 바꿔 Kim이 있는 인덱스를 리턴하는 방식입니다.
문제의 조건에 오직 한 번만 이라는 조건이 있기 때문에 사용 가능하죠.
List의 indexOf 메소드는 가장 작은 인덱스를 리턴하기 때문입니다.
속도의 차이는 크게 없지만 코드는 간결하니 보기 좋네요.
다음은 Javascript 코드 입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 |
function findKim(seoul){
var idx = 0;
//함수를 완성하세요
for(var i=0; i<seoul.length; i++){
if(seoul[i]==="Kim"){
idx = i;
break;
}
}
//idx = seoul.indexOf("Kim");
return "김서방은 " + idx + "에 있다";
}
// 실행을 위한 테스트코드입니다.
console.log( findKim(["Queen", "Tod", "Kim"])); |
cs |
이 것도 마찮가지로 for문을 반복하는 방법과 배열의 Index를 리턴하는
indexOf 메소드를 사용하는 방식을 사용 할 수 있습니다.
배열에서 indexOf 메소드를 사용하면 해당 값이 있는 인덱스를 쉽게 구할 수 있다.
는 알고 넘어가도록 합시당~
아래는 Java의 indexOf와 lastIndexOf 메소드에 대한 설명이니 참고하세요~
문제출처 : https://programmers.co.kr/
반응형
'Programing > Algorithm' 카테고리의 다른 글
Java, Javascript 프로그래머스 Level1 수박수박수박수박수박수? (0) | 2018.05.16 |
---|---|
Java, Javascript 프로그래머스 Level1 짝수와 홀수 (0) | 2018.05.16 |
Java 프로그래머스 Level1 나누어 떨어지는 숫자 배열 (0) | 2018.05.15 |
Java, Javascript 프로그래머스 Level1 행렬의 덧셈 (0) | 2018.05.14 |
Java 프로그래머스 Level1 문자열 내림차순으로 배치하기 (0) | 2018.05.14 |
댓글