[프로그래머스] Java 코딩테스트 Lv.1 - 서울에서 김서방 찾기

yihyun·2025년 4월 24일

코딩테스트

목록 보기
74/105
post-thumbnail

서울에서 김서방 찾기

✅ 문제 설명

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

✅ 제한사항

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

🔽 소스코드 1

💻 풀이

  • 반복문을 0부터 배열의 길이까지 반복해주며
  • contains() 를 이용해 원하는 문자열이 포함되어 있는지 체크한다.
  • 만약 문자열이 포함되어 있다면 x 에 현재 인덱스를 저장하고,
  • 시간 복잡도를 줄이기 위해 break 로 반복문을 종료해준다.

시간 5.24ms ~ 8.13ms

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

🔽 소스코드 2

💻 풀이

  • Arrays.asList() 는 배열을 List로 변환하는 메서드로, String[]List<String>로 변환해준다.
  • indexOf()는 리스트에서 특정 요소가 나타나는 인덱스를 반환해준다.

시간 5.93ms ~ 7.82ms

	public String solution1(String[] seoul) {
		
		int x = Arrays.asList(seoul).indexOf("Kim");
		
		return 	"김서방은 " + x + "에 있다";
	}
profile
개발자가 되어보자

0개의 댓글