반응형
출처
https://programmers.co.kr/learn/courses/30/lessons/12922
문제
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
입출력 예시
문제풀이1
def solution(n):
수 = '수'
박 = '박'
answer = [0]*(n)
for i in range(n):
if i % 2 == 0:
answer[i]= 수
else:
answer[i] = 박
return ''.join(answer)
- 배열과 for 문을 연습할 겸 풀어봤다.
- list assignment index out of range 오류가 발생해서 answer 배열에 0 을 미리 채워놨다.
문제풀이2
def solution3(n):
return ('수박' * n )[:n]
- 주어진 수만큼 수박을 출력한 후 나중에 자르는 로직
- 공간복잡도가 커지기 때문에 비효율적이라고 생각함
문제풀이3
def solution4(n):
return "수박"*(n//2) + "수"*(n%2)
- 시간복잡도, 공간복잡도가 작음
- 제일 깔끔한 풀이라고 생각함
반응형
'컴퓨터 > 알고리즘' 카테고리의 다른 글
[프로그래머스] Lv1 같은 숫자 시러_python 문제 풀이 (0) | 2022.07.04 |
---|---|
[프로그래머스] Lv1 py개수_python 문제 풀이 (0) | 2022.07.03 |
[프로그래머스] Lv1 서울에서 김서방 찾기_python 문제 풀이 (0) | 2022.06.27 |
[프로그래머스] Lv1 체육복_그리디 python 문제 풀이 (0) | 2022.06.26 |
[백준] 알고리즘 10952번 A+B - 5 풀이 (Java Scanner, BufferedReader ver) (0) | 2022.05.05 |
댓글