프로그래머스/Java | Level1
[프로그래머스/Java]Level1 - 서울에서 김서방 찾기
뿌꾸 빵
2020. 11. 7. 21:49
728x90
반응형
코딩테스트 연습 - 서울에서 김서방 찾기
String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제
programmers.co.kr
문제 설명 |
String형 배열 seoul의 element 중 “Kim”의 위치 x를 찾아, “김서방은 x에 있다”는 String 반환 seoul에 “Kim”은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우 없음 |
제한 조건 |
|
입출력 예 |
|
seoul | result |
[“Jane”, “Kim”] | “김서방은 1에 있다” |
나의 풀이
answer를 초기화 선언한 뒤, seoul의 배열 길이만큼 for문을 돌려 “Kim”이 등장하면 위치 return
class Solution {
public String solution(String[] seoul) {
String answer = "";
for (int i=0 i<seoul.length; i++)
if(seoul[i].equals("Kim")) // 요소 찾기
answer= "김서방은 " +i + "에 있다";
return answer;
}
}
JAVA1 코드 정리
1. 배열과 리스트의 속성 이용
2. 리스트는 ‘인덱스’를 가지고 있으므로 indexOf를 이용해 “Kim”이 있는 곳에 인덱스 출력
class Solution {
public String solution(String[] seoul) {
int x = Arrays.asList(seoul).indexOf("Kim");
return "김서방은 " + x + "에 있다";
}
}
// 한줄 가능
// return “김서방은 “ + Arrays.asList(seoul).indexOf(“Kim”) + “에 있다”;
* Arrays.asList : 배열->리스트 // 처리만!
* indexOf : 찾는 변수가 배열 어디에 있는지 반환 // Array에는 indexOf가 없음
* 배열 vs 리스트
배열 : 크기가 정해져 있다 (길이 변경 불가)
리스트 : 인덱스X, ‘순서’ (그저 위치만 중요)
인덱스 : 유일무이 식별자
배열과 리스트를 이용해서 구하면 더욱 쉽고 빠르게 구할 수 있다는 사실을 알게 되었다. Arrays.asLis()와 indexOf()를 앞으로도 잘 활용할 수 있었으면 좋겠다. 그럼 쓸데없는 코드들은 빠지고 한줄로만 구현할 수 있을 것이다. |
728x90
반응형