728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/120921
A 문자열을 몇 번 밀면 B가 나오는지 리턴(없으면 -1)
1. 반복문 사용
A[-1] 맨 마지막 문자
A[:-1] 처음부터 맨 마지막 전까지의 문자열
def solution(A, B):
answer = -1
#같다면
if A == B:
answer = 0
#다르다면
else:
#len -1 만큼 돌고 B와 같은지 확인
cnt = 0
for _ in range(len(A)-1):
A = A[-1] + A[:-1]
cnt += 1
if A == B:
answer = cnt
break
return answer
2. B를 두 번 반복, find() 사용
A가 llohe라면
B가 hello라면
B 두 번 반복 -> hellohello
그 안에 A 문자열이 없다면 -1을 리턴하고 있다면 인덱스를 리턴
def solution(A, B):
B = B * 2
answer = B.find(A)
return answer
'코딩테스트 문제' 카테고리의 다른 글
[프로그래머스/Python] 신고 결과 받기 (0) | 2024.01.11 |
---|---|
[프로그래머스/Python] 둘만의 암호 (0) | 2024.01.10 |
[프로그래머스/Python] k의 개수 (0) | 2024.01.05 |
[프로그래머스/Python] 369 게임 (0) | 2024.01.05 |
[프로그래머스/Python] 올바른 괄호 (0) | 2023.12.16 |