[프로그래머스] 서울에서 김서방 찾기

최지나·2023년 9월 19일
0

코딩테스트

목록 보기
4/154

문제

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

제한 사항
seoul은 길이 1 이상, 1000 이하인 배열입니다.
seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
"Kim"은 반드시 seoul 안에 포함되어 있습니다.

입출력 예

seoulreturn
["Jane", "Kim"]"김서방은 1에 있다"

문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/12919

생각

  • seoul 루프를 돌면서 Kim이 나올 때까지 index를 올려가면 김서방의 위치가 나오겠다

코드

class Solution {
    public String solution(String[] seoul) {
        int location = 0;
        for (String s: seoul){
            if (s.equals("Kim")){
                break;
            } else {
                location +=1;
            }
        }
        
        return String.format("김서방은 %d에 있다", location);
    }
}

다른 사람의 풀이

import java.util.Arrays;
public class FindKim {
    public String findKim(String[] seoul){
        return "김서방은 "+ Arrays.asList(seoul).indexOf("Kim") + "에 있다";
    }
}
  • 한 줄에 해결한 코드가 있어 가져왔다.
  • 보기에는 훨씬 간결해 보이지만, Array로 변환했기 때문인지 실행 시간은 8배 정도 더 걸렸다. "간결한" 코드와 "빠른" 코드에 대한 고민을 하면서 코딩하는 습관을 길러야겠다 :)
profile
의견 나누는 것을 좋아합니다 ლ(・ヮ・ლ)

0개의 댓글