하루를 끝내며 다짐하기

프로그래머스 LV.1 서울에서 김서방 찾기 본문

카테고리 없음

프로그래머스 LV.1 서울에서 김서방 찾기

보슬비처럼 2024. 11. 18. 22:51

 

문제를 풀기 전에 꼭 알아야 할 핵심 포인트

1. "Kim"의 위치를 찾아야 해!
   - `seoul`이라는 배열에 "Kim"이라는 문자열이 딱 한 번만 들어 있어.
   - 우리는 "Kim"이 몇 번째에 있는지 위치(index)를 찾아야 해.

2. "김서방은 x에 있다"라는 형식으로 반환해야 돼.
   - 예를 들어 "Kim"이 배열의 첫 번째 자리에 있다면, "김서방은 0에 있다"라고 결과를 반환해야 해.

3. 문제의 조건과 제약사항
   - `seoul` 배열의 길이는 최소 1개에서 최대 1000개까지 가능해.
   - 배열 안의 각 문자열은 길이가 1 이상 20 이하야.
   - "Kim"은 항상 배열에 포함되어 있어서 찾을 수 없는 경우는 걱정하지 않아도 돼.

4. 효율적으로 생각하자
   - "Kim"이 반드시 한 번만 포함되어 있으니까, 배열을 처음부터 끝까지 한 번만 탐색하면 돼.
   - 한 번 찾으면 바로 반환하면 끝!




어떻게 풀지 간단하게 정리하자

- 배열 `seoul`을 순차적으로 탐색하면서 `"Kim"`이 있는 위치를 찾는다.
- 찾은 위치를 문자열에 넣어서 "김서방은 x에 있다" 형식으로 결과를 만들어 반환한다.




 추가로 생각해볼 점:

- `index` 메서드나 반복문을 써서 해결할 수 있어.
- "Kim"이 반드시 포함되어 있다는 조건이 있으니 오류 처리 걱정은 하지 않아도 돼!
- 결과 문자열을 정확히 요구된 형식으로 만들어야 하니까, 문자열 연결이나 포매팅을 주의하면 돼.



"이거 생각하면 엄청 간단하지? 자, 이제 코드로 만들어 보자!" 😊

"자, 이 코드 보면서 문제를 같이 풀어보자! 😄

class Solution {
    public String solution(String[] seoul) {
        String answer = "";

        for(int i = 0; i < seoul.length; i++){
            if(seoul[i].equals("Kim")){
                answer = "김서방은 " + i + "에 있다";
                break;
            }
        }
        
        return answer;
    }
}



1. 입력받는 데이터:  
   - 이 함수는 `String[] seoul`이라는 배열을 입력으로 받아.  
   - 여기서 `"Kim"`이라는 이름이 하나 들어있어. 우리의 목표는 이 `"Kim"`이 배열의 몇 번째에 있는지 찾아내는 거야!

2. 목표:  
   - "김서방은 x에 있다" 이런 형식의 결과 문자열을 만들어 반환하는 게 이 코드의 목적이야.

3. 코드 흐름을 보면:  
   - 1단계: 결과를 담을 문자열 준비
     ```java
     String answer = "";
     ```
     - 우선 결과를 저장할 `answer`라는 빈 문자열 변수를 만들었어.

   - 2단계: 배열을 반복문으로 탐색  
     ```java
     for (int i = 0; i < seoul.length; i++) {
         if (seoul[i].equals("Kim")) {
             answer = "김서방은 " + i + "에 있다";
             break;
         }
     }
     ```
     - 이제 `for` 반복문을 써서 배열을 처음부터 끝까지 하나씩 확인해.
     - 만약 `seoul[i]`가 `"Kim"`과 같으면?  
       - `"Kim"`이 위치한 `i`를 찾아서 `"김서방은 x에 있다"`라는 문자열을 만들어 `answer`에 저장해.  
       - 그리고 `break`로 반복문을 끝내. 더 이상 탐색할 필요가 없으니까!

   - 3단계: 결과 반환   
     ```java
     return answer;
     ```
     - 마지막으로 만들어진 `answer`를 반환해.

4. 출력 결과:
   - 예를 들어, `seoul = {"Jane", "Kim"}`이라면?  
     - `"Kim"`은 배열의 1번 인덱스에 있어.
     - 그래서 반환값은 `"김서방은 1에 있다"`가 돼!



코드 전체적으로 효율적이고 깔끔하지? "Kim"이 무조건 배열에 하나만 들어있다는 조건 덕분에 따로 예외 처리는 필요 없고, 반복문만으로 해결 가능해!" 😊

반응형
Comments