본문 바로가기

코딩테스트/Programmers

[Programmers/프로그래머스]서울에서 김서방 찾기

728x90
반응형
문제 설명

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

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

풀이

이 문제는 먼저 seoul 리스트에서 "Kim"을 찾아야한다. 문제 설명에서 "Kim"은 단 한번만 나타난다고 했으므로 index()를 사용하면 된다.

  • index() 메소드는 매개변수로 받은 문자열이 찾을 리스트 안에 있는지 확인하고 있다면 그 문자열의 시작 index를 반환한다.

seoul.index("Kim")으로 index를 찾았으면 문자열 형식에 맞게 찾은 index 값을 넣어서 반환하면 된다.

  • 문자열 formating 
    1. f"~{}" : 문자열 앞에 f를 넣고 {} 안에 원하는 변수 또는 값을 넣으면 formating 된 문자열이 된다.
    2. " ~ {0} {1}".format(~,~) : format() 메소드를 사용하여 매개변수를 전달하면 " "안에 {0},{1}, .. 순서대로 매개변수가 대입된다.
      • "{}".format(1), 처럼 안에 아무것도 안넣어도 순서대로 대입된다.
      • "{변수명1} {변수명2}".format(변수명1 = 값1, 변수명2 = 값2), 이런식으로 명시적으로 전달해도됨.

 

def solution(seoul):
    return f"김서방은 {seoul.index('Kim')}에 있다"
728x90
반응형