[프로그래머스 Lv.1 - Java] 서울에서 김서방 찾기
반응형

문제 설명

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

 

코딩테스트 연습 - 서울에서 김서방 찾기

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

programmers.co.kr


문제 풀이

public class Kimseobang {
    public String solution(String[] seoul) {
        String answer= "";
        for(int i=0; i<seoul.length; i++){
            if(seoul[i].equals("Kim")){ // Kim과 일치하는 문자열을 찾아야 한다.!
                answer =  "김서방은 " + i+"에 있다";
            }
        }
        return answer;
    }

    public static void main(String[] args) {
        Kimseobang method = new Kimseobang();

        String[] arr = {"Jane", "Kim"};
        System.out.println(method.solution(arr));
    }
}

반복문을 돌면서 String배열의 해당 요소와 Kim이 일치하는 인덱스를 찾으면 된다!


관련 개념

if(seoul[i] == "Kim"){ //false!
   answer =  "김서방은 " + i+"에 있다";
}

만약 비교문을 위와 같은 코드로 작성하셨다면 Kim과 동일하더라도 if문 안으로 들어가지 못했을 것이다! -> 왜?

-> ==의 경우 첫 문자 시작의 "주소"를 비교하기 때문!! 따라서 내용은 같지만 주소값이 다르기 때문에 if문안으로 들어갈 수 없다.. 따라서 String을 비교하고 싶다면 .equals()함수를 사용할 것--> 주의하자

반응형