본문 바로가기
코딩 테스트/[JAVA] programmers 코딩 테스트 연습

[Programmers/JAVA/JS] 서울에서 김서방 찾기 / 프로그래머스 코딩 테스트 연습

by M개발자 2021. 6. 15.
반응형

서울에서 김서방 찾기


문제 설명

 

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


예시

 

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

코드 해석 및 전체 코드

 

알고리즘

1. seoul 배열의 길이만큼 for문 반복

2. seoul의 원소가 "Kim"인지 비교 equals()

3. 배열의 번호 반환

 

equals 메서드를 사용해야하는 이유

 

== 비교 연산자

비교 연산자는 주소값을 비교하므로 

"Kim"이 저장된 seoul [1]과 "kim"을 비교 연산자로 비교 시 false가 반환된다. -- 주소가 다르므로!!!

System.out.println(seoul[1] == "Kim"); //false

 

equals 메서드

객체끼리 내용을 비교하므로

seoul[1]의 "Kim"과 "Kim"을 equals 메서드를 사용하여 비교 시 true가 반환된다.

System.out.println("Kim".equals(seoul[1])); //true

java

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

        
        return answer;
    }
}

js

function solution(seoul) {
    let answer = '';
    let cnt = 0;
    
    for(let i of seoul){
        if("Kim" == i) 
            return "김서방은 " + cnt + "에 있다";
        cnt++;
    }
    
    return answer;
}

github

programmers

 

반응형

댓글