코딩테스트 Level.1 가장 가까운 글자

2024. 6. 4. 09:47·코딩테스트

문제 설명

 

문자열 s가 주어졌을 때, s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 글자가 어디 있는지 알고 싶습니다.

예를 들어, s = "banana" 라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다.

  • b는 처음 나왔기 때문에 자신 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.
  • a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.
  • n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.
  • a는 자신보다 두 칸 앞에 a가 있습니다. 이는 2로 표현합니다.
  • n도 자신보다 두 칸 앞에 n이 있습니다. 이는 2로 표현합니다.
  • a는 자신보다 두 칸, 네 칸 앞에 a가 있습니다. 이중 가까운 것은 두 칸 앞이고, 이는 2로 표현합니다.

따라서 최종 결과물은 [-1, -1, -1, 2, 2, 2]가 됩니다. 문자열 s가 주어질 때, 위와 같이 정의된 연산을 수행하는 함수 solution을 완성해주세요.

 

제한 사항

  • 1 ≤ s의 길이 ≤ 10,000
    • s는 영어 소문자로만 이루어져 있습니다.

입출력 예

s result
"banana" [-1, -1, -1, 2, 2, 2]
"foobar" [-1, -1, 1, -1, -1, -1]

'코딩테스트' 카테고리의 다른 글

코딩 테스트 Level.1 명예의 전당(1)  (0) 2024.06.07
코딩테스트 Level.1 푸드 파이트 대회  (0) 2024.06.04
코딩테스트 Level.1 두 개 뽑아서 더하기  (0) 2024.05.31
코딩테스트 Level.1 K번째 수  (1) 2024.05.31
코딩테스트 Level.1 문자열 내 마음대로 정렬하기  (0) 2024.05.31
'코딩테스트' 카테고리의 다른 글
  • 코딩 테스트 Level.1 명예의 전당(1)
  • 코딩테스트 Level.1 푸드 파이트 대회
  • 코딩테스트 Level.1 두 개 뽑아서 더하기
  • 코딩테스트 Level.1 K번째 수
이도서
이도서
  • 이도서
    도서의 코딩노트
    이도서
  • 전체
    오늘
    어제
    • 분류 전체보기 (209)
      • Today I Learned (79)
        • 2024 (78)
      • Swift (25)
        • Swift 문법 정리 (19)
        • RxSwift (5)
      • Swift Study (12)
        • Playground (2)
        • Storyboard (9)
        • UIKit (1)
      • Git (3)
      • 코딩테스트 (60)
      • Dart 언어 (16)
      • Flutter (11)
        • Flutter Study (11)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 개발 공부 공유 링크
  • 인기 글

  • 태그

    코딩테스트Level.1
    Xcode
    Flutter
    storyboard
    코딩테스트
    ios앱개발자
    ios
    내일배움캠프
    구조체
    계산기만들기
    코딩테스트 level.1
    함수
    Playground
    객체지향
    Swift
    widget
    Til
    DART
    코딩 테스트
    iOS앱개발
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이도서
코딩테스트 Level.1 가장 가까운 글자
상단으로

티스토리툴바