일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 데이터분석
- 입학시험 #난이도높음
- 코딩교육
- 프로그래머스
- 객채
- Weekly회고
- 채소마켓
- 프리온보딩
- 딥러닝
- 개발공부
- 주니어에서시니어로
- 이커머스고객이탈예측
- 인턴교육
- 액세스토큰
- 취업연계
- programming language
- React
- 메타코드
- javascript
- 슈퍼코딩
- 스파르타코딩클럽 #항해99파트1기 #bootstrap
- 백엔드
- 취업준비 #추석연휴 #꿈
- wil
- 티스토리챌린지
- 항해99
- metacode
- 오블완
- JWT
- 오늘공부
- Today
- Total
하루를 끝내며 다짐하기
프로그래머스 LV.1 서울에서 김서방 찾기 본문
문제를 풀기 전에 꼭 알아야 할 핵심 포인트
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"이 무조건 배열에 하나만 들어있다는 조건 덕분에 따로 예외 처리는 필요 없고, 반복문만으로 해결 가능해!" 😊