문제 설명
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요.
seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
제한사항
- 입력된 수, num은 1 이상 8,000,000 미만인 정수입니다
- seoul은 길이 1 이상, 1000 이하인 배열입니다.
- seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
- "Kim"은 반드시 seoul 안에 포함되어 있습니다.
입출력 예
seoul | return |
["Jane","Kim"] | "김서방은 1에 있다" |
⭕ 풀이
class Solution {
public String solution(String[] seoul) {
String answer = "";
int idx = 0;
while(true){
if("Kim".equals(seoul[idx])){
break;
}
idx++;
}
answer = "김서방은 "+idx+"에 있다";
return answer;
}
}
✅ 흐름
1. 입력받은 문자열배열의 각 인덱스를 idx변수로 반복하며 "Kim"과 같은지 비교한다.
2. while로 무한반복을 돌려놓고 찾는다면 break로 탈출한 뒤 idx를 answer에 넣어 사용한다,
문제에 "Kim"은 오직 한 번 나타나며, 잘못된 값이 입력되는 경우는 없다고 나와있어
while 무한반복을 돌려도 되었고 만약 해당조건이 없었다면 seoul.length 로 했어야 할것이다.
또한 전체탐색을 해야하는 문제가 아니고 한 번만 나오는 전제조건이 있으므로
"Kim"을 찾았다면 break를 해주어야 조금이라도 낭비를 줄일 수 있다.
-출처
https://school.programmers.co.kr/learn/courses/30/lessons/12919
'Algorithm > Programmers(Java)' 카테고리의 다른 글
[프로그래머스/Lv.1] 나누어 떨어지는 숫자 배열 (0) | 2022.12.14 |
---|---|
[프로그래머스/Lv.1] 핸드폰 번호 가리기 (0) | 2022.12.13 |
[프로그래머스/Lv.1] 콜라츠 추측 (0) | 2022.12.13 |
[프로그래머스/Lv.1] 두 정수 사이의 합 (0) | 2022.12.09 |
[프로그래머스/Lv.1] 정수 내림차순으로 배치하기 (0) | 2022.12.09 |