프로그래머스>서울에서 김서방 찾기(java)

카초·2023년 9월 15일

프로그래머스 > Lv.1 > 코딩테스트 연습 > 연습문제 > 서울에서 김서방 찾기

문제 설명
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 answer = "";
        for(int i=0; i<seoul.length; i++) {
            if(seoul[i].equals("Kim")) {
                answer = "김서방은 " +i+ "에 있다";
                break;
            }   
        }
        return answer;
    }
}
  • Java에서 문자열을 비교할 때는 == 연산자를 사용해서는 안 됨. 대신 equals() 메서드를 사용해야 함.
    문자열을 == 연산자로 비교하면 문자열의 내용을 비교하는 것이 아니라 문자열의 참조(메모리 주소)를 비교하기 때문에 예상한 대로 동작하지 않기 때문.
    여러모로 파이썬 문법이랑 헷갈리는 중.

  • break;을 쓰지 않아도 제대로 동작함. 하지만 break을 안 쓰면 "Kim" 찾고나서도 배열 끝까지 불필요한 실행을 지속함.

0개의 댓글