250x250
반응형
05-21 00:05
Today
Total
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Notice
Recent Posts
Recent Comments
Link
Archives
관리 메뉴

Bill Kim's Life...

[Swift] 프로그래머스 연습 문제(Level 1) : 서울에서 김서방 찾기 본문

CS(컴퓨터 과학)/Coding Test

[Swift] 프로그래머스 연습 문제(Level 1) : 서울에서 김서방 찾기

billnjoyce 2021. 2. 15. 17:31
728x90
반응형
실제 코딩테스트의 문제를 통하여 알고리즘 분석과 코딩 능력을 향상시킵니다.

 

 

#. 구독 대상

  • 기본 알고리즘을 코딩 테스트 문제를 통하여 학습하고 싶으신 분
  • 취업 및 이직을 준비하고 계신 개발자
  • Swift를 통하여 코딩 테스트 문제를 살펴보고 이해를 하고 싶으신 분
  • 코딩 테스트에 대한 거부감을 없애기 위하여 기초부터 하나씩 공부해보고 싶으신 분
  • 기타 알고리즘과 문제 해결 능력에 대해서 관심이 있는 모든 개발자분
참고 사항

본 코딩 테스트 문제에 대한 설명 및 해결 방안은 최적의 답이 아닐 수 있습니다.

본 강의에서 지향하는 목표는 바로 특정 문제에 대한 최적의 해결 방법을 찾기보다는 특정한 문제에 대해서 충분히 이해할 수 있고 다양한 방법을 통하여 해결하는 방법을 찾고 향상시키는데 그 목적이 있습니다.

좀 더 좋은 알고리즘 및 코드가 있으시다면 언제든지 본 게시물의 댓글을 통해서 제시해주시면 감사하겠습니다.

 

 

 


 

 

 

코딩 테스트 문제

 

먼저 오늘 살펴볼 문제에 대해서 먼저 살펴보겠습니다.

 

programmers.co.kr/learn/courses/30/lessons/12919

 

코딩테스트 연습 - 서울에서 김서방 찾기

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

programmers.co.kr

 

 

 


 

 

 

문제 설명

 

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

 

 

 

 


 

 

 

제한 조건

 

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

 

 

 

 

 

 

 


 

 

 

 

입출력 예

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

 

 

 

 


 

 

문제 분석

 

오늘 문제는 제목과 같이 서울에서 김서방 찾기를 하는 문제입니다. 서울이라는 문자열 배열이 입력이 되고 그 안에서 영어로 'Kim' 이라는 단어가 들어가 있는 원소의 인덱스를 찾아서 결과값을 반환하는 문제입니다. 보통 이런 문제는 독자적인 문자열 비교 알고리즘을 통하여 결과값을 찾기를 원할 수는 있으나 저희는 Swift 자체 함수를 활용하여 아주 간단한 코드로 해결해보도록 하겠습니다.

 

 

 

 

 


 

 

 

알고리즘

 

위의 내용을 기반으로 하여 본 문제를 해결하기 위한 알고리즘을 살펴보면 아래와 같습니다.

 

  • Swift 스트링 관련 함수(index)를 활용하여 특정 문자가 있는 인덱스 값을 가져옵니다.

 

 

 

 


 

 

 

코드 설명

 

그렇다면 위의 알고리즘에 대해서 하나씩 살펴보면서 코드로 작성을 해보도록 하겠습니다.

 

 

  • Swift 스트링 관련 함수(index)를 활용하여 특정 문자가 있는 인덱스 값을 가져옵니다.
return "김서방은 \(seoul.index(of: "Kim")!)에 있다"

 

 

위의 코드들을 모두 조합하여 최종 코드를 완성하면 아래와 같습니다.

 

 

최종 코드

func solution(_ seoul:[String]) -> String {
    return "김서방은 \(seoul.index(of: "Kim")!)에 있다"
}

 

 

 

 


 

 

 

이상으로 오늘 제시한 문제에 대해서 분석 및 코드를 작성해 보았습니다.

 

그럼 오늘도 좋은 하루되세요.

 

 

 

감사합니다.

 

 

 

 


[참고 자료(References)]

 

[1] 프로그래머스 - 서울에서 김서방 찾기 : programmers.co.kr/learn/courses/30/lessons/12919

728x90
반응형
Comments