본문 바로가기
Coding Test/Java Coding Test

[프로그래머스 / 자바] - 서울에서 김서방 찾기

by nam_ji 2024. 1. 19.

서울에서 김서방 찾기

문제

  • 문자열 배열 seoul이 매개변수로 주어집니다.
  • seoul 배열의 원소 중에서 Kim의 위치를 x를 찾아
  • "김서방은 x에 있다"를 출력하는 문제입니다.


테스트 (이클립스)

  • 정수 변수 idx를 선언하고 idx 변수에 Arrays.asList를 이용하여 s를 List형으로 변환하고 indexOf 메소드를 이용하여 Kim의 원소 위치를 담도록 했습니다.
  • for문을 이용하여 s의 크기만큼 순회하도록 하고  answer에 김서방은 idx에 있다를 담아서 문제를 해결했습니다.
  • 다른 방법으로 for문을 s만큼 순회하도록 한 것은 똑같고 내부에 if문을 이용하여 String 클래스의 equals메소드를 이용하여 s의 원소마다 Kim과 비교하도록 하여 문제를 해결했습니다.
package com.namji.codingtest.level0;

import java.util.Arrays;

public class FindKimSeobang_in_Seoul {
	public static void main(String[] args) {
		/*
		 * String 배열 seoul이 매개변수로 주어집니다.
		 * seoul에 있는 원소에서 Kim의 위치를 찾아서
		 * 김서방은 (원소위치)에 있다를 출력하는 문제입니다.
		 * ["Jane", "Kim"] > "김서방은 1에 있다"
		 */
		String[] s = {"Jane", "Kim"};
		String answer = "";
		int idx = Arrays.asList(s).indexOf("Kim");
		for (int i = 0; i < s.length; i++) {
			answer = "김서방은 " + idx + "에 있다.";
		}
		for (int i = 0; i < s.length; i++) {
			if (s[i].equals("Kim")) {
				answer = "김서방은 " + i + "에 있다.";
			}
		}
		System.out.println(answer);
	}
}

프로그래머스 코드

import java.util.*;

class Solution {
    public String solution(String[] s) {
        String answer = "";
        int idx = Arrays.asList(s).indexOf("Kim");
		for (int i = 0; i < s.length; i++) {
			answer = "김서방은 " + idx + "에 있다";
		}
        return answer;
    }
}