코딩 뚝딱이

[프로그래머스] 연습문제 : 수박수박수박수박수박수? [Python] 본문

알고리즘&코딩테스트/Python 코테

[프로그래머스] 연습문제 : 수박수박수박수박수박수? [Python]

Desiree 이나 2023. 3. 24. 12:11

 LV1  < 수박수박수박수박수박수? >

■ 문제 설명

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

 

■ 제한 조건

  • n은 길이 10,000이하인 자연수입니다.

■ 입출력 예

n return
3 "수박수"
4 "수박수박"

■ 기본 제공 틀 (Python)

def solution(n):
    answer = ''
    return answer

                             ▼   A N S W E R                               


■ 내 풀이 (Python)

def solution(n):
    answer = '수박' * n
    answer = answer[:n]
    return answer

 

■ 내 풀이 설명 (Python)

'수박'이라는 문자열을 반복 시키기 위해 아래처럼 문자열을 n번 반복 시켜준다.

# 문자열 '수박' n번 반복 시켜줌
answer = '수박'
answer = answer * n

우리는 그렇게 반복되는 문자열 '수박수박수박수 ... '에서 n개만큼만 잘라서 보고 싶기 때문에 아래와 같이 index를 이용해서 코딩해준다.

answer = answer[:n]

------------------------------------------------------------------------------------------------------------------------------------------------------

문자열 인덱스 슬라이싱 [start:stop:step]  -- 리스트 인덱스 슬라이싱과 동일합니당

string[start:stop]     # start인덱스부터 stop-1 인덱스까지 슬라이싱

string[start:]     # start인덱스부터 마지막 인덱스까지 슬라이싱

string[:stop]     # 처음(0)부터 stop-1 인덱스까지 슬라이싱

 

*step을 추가했을 때 list 예제로 확인!

list=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

list[0:10:2]     # 인덱스 0부터 인덱스 9(10-1)까지 2칸씩 점프 → result: [0, 2, 4, 6, 8]

*step을 추가했을 때 sting 예제로 확인!

string = '0123456789'

string[0:10:2]     # 인덱스 0부터 인덱스 9(10-1)까지 2칸씩 점프 → result: '02468'

------------------------------------------------------------------------------------------------------------------------------------------------------

 

- 끝 -