문제 설명 및 입출력 예시
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에서 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
제한사항
- seoul은 길이 1 이상, 1000 이하인 배열입니다.
- seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
- "Kim"은 반드시 seoul 안에 포함되어 있습니다.
입출력 예
seoul | return |
["Jane", "Kim"] | "김서방은 1에 있다" |
코드 & 풀이과정
class Solution {
public String solution(String[] seoul) {
String kim = "";
for (int i = 0; i < seoul.length; i++) {
if(seoul[i].equals("Kim")){
kim = "김서방은 " + i +"에 있다";
}
}
return kim;
}
}
딱히 뾰족한 수가 떠오르지 않아서 그냥 equals라는 메소드를 이용하여 "Kim"과 동일하면 kim에 i번째에 있다는 걸 넣으라고 해놨고 성공적이었다.
회고
하지만 코드 자체는 잘 돌아가겠지만 센스가 여러모로 부족했다. 왜냐하면 저렇게 만들어 놓을 시 for문 전체를 돌아야 하기 때문에 메모리 낭비가 심하기 때문이다. 다른 사람들의 코드를 봤을 때 나와 비슷하긴 했지만 i값을 찾은 후 for문은 필요 없으므로 바로 밑에 break;를 달아주어 메모리 낭비를 막았다. 이런 참신한 부분은 배워야 할 듯하다.
💻프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12919
'실력 향상 일지 > 프로그래머스' 카테고리의 다른 글
[Java] 나누어 떨어지는 숫자 배열 (0) | 2022.10.23 |
---|---|
[Java] 핸드폰 번호 가리기 (0) | 2022.10.22 |
[Java] 두 정수 사이의 합 (0) | 2022.10.19 |
[Java] 콜라츠 추측 (0) | 2022.10.18 |
[Java] x만큼 간격이 있는 n개의 숫자 (0) | 2022.10.17 |