[프로그래머스]lv1. 서울에서 김서방 찾기 /Java/Python

seeun·2021년 7월 26일
0

Programmers

목록 보기
1/23
post-thumbnail

📝 서울에서 김서방 찾기


✔️문제설명

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 (seoul[i].equals("Kim")){
                answer = "김서방은 " + i + "에 있다";
            }
        }
        return answer;
    }
}

for문을 통해 "kim"을 찾아 해당 인덱스를 answer에 넣어주었다.
처음에 조건문을 seoul[i] == "kim" 로 했더니 계속 오류가 ㅠㅠㅠ
string은 원시데이터가 아니기 때문에 비교해주려면 equlas()를 사용해주어야 한다.

정리해보면

  • == : 같은 곳에 있는지 확인(주소값 비교)
  • equals : 같은 내용인지 확인(데이터값 비교)



Python

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

배열에 반드시 "kim"이 포함되어 있기 때문에 간단하게 index() 를 사용해주었다. (찾는 문자가 없는 경우에 ValueError 에러가 발생)
index 함수는 문자 및 문자열의 위치를 찾아준다. 찾는 문자 및 문자열이 있을 경우 검색된 위치를 반환해준다

  • string.index(찾을 문자열 및 문자)
  • string.index(찾을 문자열 및 문자, 시작위치, 끝위치)
profile
🤹‍♂️개발 기록 노트

0개의 댓글