https://www.youtube.com/watch?v=_m7aGXWTYKU&list=PLnp1rUgG4UVb_5oT4tYaB4Sro-SBPJSWy&index=6
Cos Pro 1급 3회 문제 5 - 구현
핸드폰 화면에 문구를 출력해주는 전광판 어플이 있습니다. 문구는 "happy-birthday"로 설정하였습니다. 전광판 어플은 다음과 같은 규칙으로 화면에 문구를 출력해 줍니다.
- 어플은 화면에 14자 문구를 출력합니다.
- 문구는 1초에 왼쪽으로 한 칸씩 움직입니다.
- 문구 이외의 부분은 "_"로 표시됩니다.
- 어플은 설정한 문구를 화면에 반복해 출력합니다.
- 어플은 문구가 다 지나가면 설정한 문구를 반복해 보여줍니다.
- 예를 들어, 처음에는 화면에 "______________"가 보입니다.
3초 뒤에는 화면에 "___________hap"가 보입니다.
14초 뒤에는 화면에 "happy-birthday"가 보입니다.
20초 뒤에는 화면에 "birthday______"가 보입니다.
28초 뒤에는 모든 문자열이 지나간 후 "______________"가 보입니다.
29초 뒤에는 다시 첫 번째 문자부터 나타나며, "_____________h"가 보입니다.
문구를 담은 문자열 phrases와 초를 담은 second가 매개변수로 주어질 때, 화면에 보이는 문자열을 출력하도록 solution 함수를 작성해 주세요. 단, '_'는 공백을 나타냅니다.
▣ 매개변수 설명
문구를 담은 문자열 phrases와 초를 담은 second가 solution 함수의 매개변수로 주어집니다.
- phrases는 "happy-birthday"입니다.
- second는 1 이상 10,000 이하인 자연수입니다.
▣ return값 설명
solution 함수는 화면에 보이는 문자열을 return 합니다.
▣ 예시
| phrases | second | return |
|------------------|--------|------------------|
| "happy-birthday" | 3 | "___________hap" |
내 풀이
"______________happy-birthday" 이렇게 만들고 시간이 자나갈때마다 맨 앞에 있는걸 pop(0) 시켜서
뒤로 append 시켜준다
def solution(phrases, second):
new_srt = list('_' * len(phrases) + phrases)
print(new_srt)
while second > 0 :
print(second)
new_srt.append(new_srt.pop(0))
second -= 1
return "".join(new_srt[:len(phrases)])
#아래는 테스트케이스 출력을 해보기 위한 코드입니다.
phrases = "happy-birthday"
second = 3
ret = solution(phrases, second)
#[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret, "입니다.")
강사님 풀이
내 풀이와 같지만 문자열 슬라이스를 이용한다
맨 앞꺼는 맨 뒤로, 1번부터 끝까지 + 맨 앞꺼
def solution(phrases, second):
new_srt = '______________' + phrases
for _ in range(second) :
new_srt = new_srt[1:] + new_srt[0] #1번째부터 끝 + 0번째 다시 붙이기
return new_srt[:14]
#아래는 테스트케이스 출력을 해보기 위한 코드입니다.
phrases = "happy-birthday"
second = 3
ret = solution(phrases, second)
#[실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret, "입니다.")
'코테풀이 > 구현' 카테고리의 다른 글
[swea | D3] 11315. 오목 판정(4방향, 대각선) (0) | 2022.05.23 |
---|---|
[swea | D2] 2001. 파리 퇴치 (0) | 2022.05.23 |
[Cos Pro 1급] 3회 문제 3(비숍 대각선 이동 위치이동) (0) | 2022.05.23 |
[Cos Pro 1급] 1회 문제 6(체스 나이트 8방향 위치이동) (0) | 2022.05.19 |
1954. 달팽이 숫자(달팽이, 소용돌이) (0) | 2022.05.19 |
[Cos Pro 1급] 3회 문제 5(전광판 어플, 한칸씩 밀기)