관리 메뉴

솜씨좋은장씨

[BaekJoon] 24937번 : SciComLove (2022) (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 24937번 : SciComLove (2022) (Python)

솜씨좋은장씨 2022. 12. 12. 12:12
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 SciComLove (2022) 입니다.

 

24937번: SciComLove (2022)

귀여운 아기 리프가 가장 좋아하는 문자열은 "SciComLove"(따옴표 제외)입니다. 귀여운 아기 리프는 아래 과정을 반복하며 문자열을 가지고 놀고 있습니다. 문자열의 가장 첫 문자를 떼어낸 뒤, 문

www.acmicpc.net

👨🏻‍💻 문제 풀이

입력 받은 숫자만큼 앞의 문자를 떼어내어 뒤로 붙였을때 나오는 결과물을 구하는 문제입니다.

반복문을 돌면서 문제를 풀어도 되겠지만

입력 받는 숫자의 범위가 0부터 10의 9승 즉 1,000,000,000 까지이므로 그냥 반복문을 돌리게 되면

시간초과가 발생할 수도 있습니다.

그럼 어떻게 풀어야하는가!

앞의 문자를 떼어 뒤에 붙이는 작업을 반복했을때 다시 원래 문자열로 돌아오는 때의 횟수를 구하고

slice_num = N % 10

해당 횟수로 입력받은 숫자를 나누고 남은 값을 활용합니다.

scicomlove = "SciComLove"
    
scicomlove[slice_num:] + scicomlove[:slice_num]

해당 값을 활용하여 SciComLove 문자열을 slicing 하여 뒤에 붙여주면 끝!

👨🏻‍💻 코드 ( Solution )

def scicomlove_2022(N):
    slice_num = N % 10
    
    scicomlove = "SciComLove"
    
    return scicomlove[slice_num:] + scicomlove[:slice_num]


if __name__ == "__main__":
    N = int(input())
    
    print(scicomlove_2022(N=N))
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments