[프로그래머스] 서울에서 김서방 찾기-JAVA&Python

말하는 감자·2022년 6월 23일
0

Programmers Level 1

목록 보기
20/66
post-thumbnail

프로그래머스 Level 1

🔒 서울에서 김서방 찾기

📚 문제 설명

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


✅ 제한 사항

  • seoul은 길이 1 이상, 1000 이하인 배열입니다.

  • seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.

  • "Kim"은 반드시 seoul 안에 포함되어 있습니다.


📖 입출력 예

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

🔑 JAVA 작성 코드

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

seoul의 크기만큼 for문을 돌려 Kim과 동일한 요소의 인덱스를 answer에 저장한다!

break을 써줌으로써 모든 요소를 탐색하지 않게 해준다.


🔓 JAVA 다른 사람의 코드

class Solution {
    public String solution(String[] seoul) {
    	return "김서방은 "+ Arrays.asList(seoul).indexOf("Kim") + "에 있다";
    }
 }

seoul 배열을 Arrays.asList()를 통해 ArrayList로 변환한 후 Kim의 index를 바로 반환!!

이렇게 간단한 코드일 수가..!!


🔑 Python 작성 코드

def solution(seoul):    
    idx = seoul.index("Kim");
    
    answer = '김서방은 ' + str(idx) + '에 있다'
    
    return answer

이건 그냥 파이썬이면 더 쉬울 것 같아서 뚝딱뚝딱 작성한 코드
str()로 int를 String으로 형변환을 안해줘서 한번 오류가 났다.

역시 코테는 파이썬이 더 낫다...


🔓 Python 다른 사람의 코드

def solution(seoul):    
    return "김서방은 {}에 있다".format(seoul.index('Kim'))

아... format 배웠는데 완전히 까먹고 있었다.
오랜만에 다시 보니 반갑고 얄미운 녀석이다.


🤨 느낀 점

잘 풀었다고 생각했는데 더 잘 푸는 방법이 있다니...
공부는 끝이 없는 거 같다.

profile
나는 말하는 감자다

0개의 댓글