코딩테스트/프로그래머스

[Lv.1] 서울에서 김서방 찾기

민톨이 2024. 8. 4. 01:30
728x90

📋 문제

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

 

📋 입출력 예시

 

📋 풀이

import java.util.Arrays;

class Solution {
    public String solution(String[] seoul) {
       // "Kim"의 위치 찾기
        int index = Arrays.asList(seoul).indexOf("Kim");

        // 리턴 문자열 형식
        String result = "김서방은 " + index + "에 있다";

        // 결과 반환
        return result;
    }
}

 

- java.util.Arrays 임포트 해주기

📌 언제 이걸 임포트하냐?

java.util.Arrays를 임포트해야만 통과되는 상황

배열을 리스트로 변환:
Arrays.asList(array) 메서드를 사용하여 배열을 리스트로 변환할 때.
배열 정렬:
Arrays.sort(array) 메서드를 사용하여 배열을 정렬할 때.
배열 검색:
Arrays.binarySearch(array, key) 메서드를 사용하여 배열에서 특정 요소를 검색할 때.
배열 출력:
Arrays.toString(array) 메서드를 사용하여 배열을 문자열로 변환하여 출력할 때.
배열 비교:
Arrays.equals(array1, array2) 메서드를 사용하여 두 배열을 비교할 때.

 

- int index = Arrays.asList(seoul).indexOf("Kim"); 

❗️ Arrays.asList란?

Arrays.asList는 자바에서 배열을 List로 변환하는 유틸리티 메서드 
이 메서드는 주어진 배열을 기반으로 고정 크기의 List를 반환함. 
반환된 리스트는 배열의 뷰(view)로 작동하여, 리스트의 변경이 배열에 반영되고, 배열의 변경이 리스트에 반영됨. 
그러나 이 리스트의 크기는 변경할 수 없다.

 

예시

import java.util.Arrays;
import java.util.List;

public class Example {
    public static void main(String[] args) {
        // 배열 정의
        String[] array = {"Apple", "Banana", "Cherry"};
        
        // 배열을 리스트로 변환
        List<String> list = Arrays.asList(array);
        
        // 리스트의 내용을 출력
        System.out.println(list);  // 출력: [Apple, Banana, Cherry]
    }
}

❗️indexOf()란?

<List 인터페이스의 indexOf>
List 인터페이스의 indexOf 메서드는 리스트 내에서 특정 요소가 처음으로 나타나는 인덱스를 반환
<String 클래스의 indexOf>
String 클래스의 indexOf 메서드는 문자열 내에서 특정 문자 또는 문자열이 처음으로 나타나는 인덱스를 반환

// 요소/문자가 없으면 -1을 반환

 

'코딩테스트 > 프로그래머스' 카테고리의 다른 글

[Lv.1] 핸드폰 번호 가리기  (0) 2024.08.04
[Lv.1] 나머지가 1이 되는 수 찾기  (0) 2024.08.04
[Lv.1] 직사각형 별찍기  (0) 2024.08.03
[Lv.1] 평균 구하기  (0) 2024.08.03
[Lv.1] 짝수와 홀수  (0) 2024.08.03