[프로그래머스] 문자열 밀기 - Python

2023. 7. 23. 15:16·Programming/알고리즘
728x90

1. 문제

https://school.programmers.co.kr/learn/courses/30/lessons/120921

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문자열 "hello"에서 각 문자를 오른쪽으로 한 칸씩 밀고 마지막 문자는 맨 앞으로 이동시키면 "ohell"이 됩니다. 이것을 문자열을 민다고 정의한다면 문자열 A와 B가 매개변수로 주어질 때, A를 밀어서 B가 될 수 있다면 밀어야 하는 최소 횟수를 return하고 밀어서 B가 될 수 없으면 -1을 return 하도록 solution 함수를 완성해보세요.

 

2. Python code

def solution(A, B):
    i = 0
    if A == B:
        return 0
    else:
        while i<len(A):
            i +=1
            A= A[-1] + A[:-1]
            if A == B:
                return i
    return -1

 

3. 풀이 

문자열을 밀면서 다시 같은 문자열이 만들어질때까지 미는 횟수를 구하는 문제다.

while문에 i가 단어 A의 길이만큼 될때까지 돈다는 조건을 걸어주고 한번 돌때마다 i에 +1 씩 해준다.

문자열 한자리씩 미는건 마지막 문자 + 마지막 제외 나머지 문자열들 해서 해준다

 

저작자표시 비영리 변경금지 (새창열림)
'Programming/알고리즘' 카테고리의 다른 글
  • [프로그래머스] 추억 점수 - Python
  • [프로그래머스] OX퀴즈 - Python
  • [프로그래머스] 로그인 성공? - Python
  • [프로그래머스] 캐릭터의 좌표 - Python
해치
해치
뭐라도 하자
  • 해치
    hi there
    해치
  • 글쓰기 관리자
  • 전체
    오늘
    어제
    • ALL (66)
      • Programming (62)
        • Python (14)
        • Linux (0)
        • SQL (13)
        • 알고리즘 (35)
      • Framework (3)
        • Docker (2)
        • Django (1)
      • AWS (0)
      • Dashboard (1)
  • 블로그 메뉴

    • 링크

    • 인기 글

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    해치
    [프로그래머스] 문자열 밀기 - Python
    상단으로

    티스토리툴바