CodingTest

프로그래머스 - 서울에서 김서방 찾기

쩡선영 2023. 7. 12. 10:20

프로그래머스 서울에서 김서방 찾기 1단계 문제입니다

https://school.programmers.co.kr/learn/courses/30/lessons/12919?language=java 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


❓문제 설명

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

 


⚠️ 제한사항 및 입출력 예

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

✏️ 내가 직접 짠 코드

오늘부터는 한 문제를 JAVA와 JS로 각각 한 번 씩 풀어보도록 하겠습니다!

 

1. JAVA로 짠 코드

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

 

2. JavaScript로 짠 코드

function solution(seoul) {
    for(let i in seoul){
        if(seoul[i]=== "Kim") return "김서방은 " + i + "에 있다";
    }
}

🗣️ 문제 풀이

  1. 반복문을 통해 배열을 탐색하고
  2. seoul[i]가 Kim이라면 
  3. index에 i값을 넣어주거나, 바로 return 을 해줬습니다

⭐ 다른사람의 풀이

function findKim(seoul){
  var idx = seoul.indexOf('Kim');
  return "김서방은 " + idx + "에 있다";
}

이렇게 indexOf로도 구할 수 있군요... 내장함수를 알고 있어도 상황에 맞게 쓰지 못하면 말짱도루묵....입니다ㅠ