dev-signer
개자이너
dev-signer
전체 방문자
오늘
어제
  • 분류 전체보기 (20)
    • Project (8)
      • DIMODAMO (1)
      • Menual (6)
      • WatchOS (1)
    • iOS (9)
      • Swift (6)
      • UI (2)
    • 코딩테스트 (2)
    • 일상 (1)
      • 이야기 (1)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • Dependency Injection
  • XCode
  • 스위프트
  • swfit
  • 리뷰요청하기
  • 코딩테스트
  • Swift
  • 의존성주입
  • 디지털미디어디자인
  • SnapKit
  • 메뉴얼
  • 사이드프로젝트
  • menual
  • ios
  • 파이썬
  • 파이썬 알고리즘 인터뷰
  • tuist
  • 주니어개발자
  • watchos
  • 알고리즘

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
dev-signer

개자이너

코딩테스트

문자열 뒤집기 - [LeetCode.344]

2021. 5. 2. 18:20

LeetCode.344

문자열을 뒤집는 함수를 작성하라.

입력값은 문자열이며, 리턴 없이 리스트 내부를 직접 조작하라.

 

✊ 꼭 체크하고 넘어가야 할 제약사항

  • 입력값은 문자열이다.
  • 리턴 없이 문자열을 직접 조작해야 한다.

 


 

[풀이 1] 투 포인터를 이용한 스왑

 

❓ 투 포인터란?

2개의 포인터를 이용해 범위를 조정해가며 풀이하는 방식

 

def reverseString(self, s: List[str]) -> None:
    left, right = 0, len(s) = -1
    while left < right:
        s[left], s[right] = s[right], s[left]
        left += 1
        right += 1

 


 

[풀이 2] 파이썬다운 방식

입력값이 리스트로 주어진다면 아래와 같이 reverse()함수를 통해 쉽게 뒤집을 수 있다.

 

def reverseString(self, s: List[str]) -> None:
	s.reverse()

 

‼️ reverse()는 리스트에만 제공된다!

만약 입력값이 문자열이라면 아래와 같이 슬라이싱을 사용할 수 있다.

 

s = s[::-1]

 

플랫폼에 따라 위와 같은 슬라이싱이 되지 않을 경우가 있는데 이럴 떄는 아래와 같은 방법을 사용하면 된다.

 s[:] = s[::-1]
반응형

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

Palindrome - [LeetCode.125]  (0) 2021.05.02
    '코딩테스트' 카테고리의 다른 글
    • Palindrome - [LeetCode.125]
    dev-signer
    dev-signer

    티스토리툴바