https://www.acmicpc.net/problem/2675
2675번: 문자열 반복
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다
www.acmicpc.net
🔷 알고리즘 분류 - 구현, 문자열 난이도 - 브론즈 2
파이썬 문자열 함수에는 다음과 같습니다.
1. len(string): 문자열의 길이를 반환합니다.
s = ' Hello, World! '
print(len(s)) # 출력: 14
2. str.upper(): 모든 문자를 대문자로 변환한 문자열을 반환합니다.
print(s.upper()) # 출력: ' HELLO, WORLD! '
3. str.lower(): 모든 문자를 소문자로 변환한 문자열을 반환합니다.
print(s.lower()) # 출력: ' hello, world! '
4. str.capitalize(): 첫 문자를 대문자로, 나머지를 소문자로 변환한 문자열을 반환합니다.
print(s.capitalize()) # 출력: ' hello, world! '
5. str.title(): 각 단어의 첫 문자를 대문자로 변환한 문자열을 반환합니다.
print(s.title()) # 출력: ' Hello, World! '
6. str.split(sep=None): sep를 구분자로 사용하여 문자열을 분리하고, 분리된 문자열들의 리스트를 반환합니다. sep가 지정되지 않으면 공백을 기준으로 분리합니다.
print(s.split()) # 출력: ['Hello,', 'World!']
7. str.strip([chars]): 문자열 양쪽 끝의 공백 또는 chars에 지정된 문자들을 제거한 문자열을 반환합니다.
print(s.strip()) # 출력: 'Hello, World!'
8. str.lstrip([chars]): 문자열 왼쪽(시작 부분)의 공백 또는 chars에 지정된 문자들을 제거한 문자열을 반환합니다.
print(s.lstrip()) # 출력: 'Hello, World! '
9. str.rstrip([chars]): 문자열 오른쪽(끝 부분)의 공백 또는 chars에 지정된 문자들을 제거한 문자열을 반환합니다.
print(s.rstrip()) # 출력: ' Hello, World!'
10. str.replace(old, new [count]): 문자열에서 old를 new로 대체한 문자열을 반환합니다. count가 지정되면, 왼쪽부터 count 개수만큼의 old만 대체합니다.
print(s.replace('World', 'Python')) # 출력: ' Hello, Python! '
🔶문제 풀이 - 문자열을 이용한 풀이
# 테스트 케이스의 수를 입력받습니다.
T = int(input())
# 각 테스트 케이스에 대해
for _ in range(T):
# 반복 횟수 n과 문자열 m을 입력받습니다.
n, m = input().split()
# n을 정수로 변환합니다.
n = int(n)
# 결과를 저장할 빈 리스트를 초기화합니다.
result=[]
# 문자열 m의 각 문자에 대해
for i in m:
# 그 문자를 n번 반복하여 result에 추가합니다.
result.append(i * n)
# result의 모든 요소를 연결하여 문자열로 만든 후 출력합니다.
print(''.join(result))
🔶 문제 이해하기
예를 들어서 입력값이 아래와 같다고 가정해 보겠습니다.
2
3 ABC
5 /HTP
첫 번째 반복문을 수행합니다.
# 문자열 m의 각 문자에 대해
for i in m:
# 그 문자를 n번 반복하여 result에 추가합니다.
result.append(i * n)
n = 3, m = ABC입니다.
i가 m의 각 문자에 대해 (A*3 = AAA, B*3 = BBB, C*3 = CCC) for문을 수행합니다.
두 번째 반복문을 수행합니다.
n = 5, m = /HTP입니다.
i가 m의 각 문자에 대해 (/*5 = /////, H*5 = HHHHH, T*5 = TTTTT, P*5 = PPPPP) for문을 수행합니다.
따라서 출력값은 다음과 같습니다.
AAABBBCCC
/////HHHHHTTTTTPPPPP
🤗파이팅입니다~ 여러분!!🤗
'백준 알고리즘' 카테고리의 다른 글
백준 - 10821번 정수의 개수 python 문제풀이 [Hellfer] (0) | 2023.12.10 |
---|---|
백준 - 8393번 합 python 문제풀이 [Hellfer] (0) | 2023.12.10 |
백준 - 11727번 2×n 타일링 2 python 문제풀이 [Hellfer] (0) | 2023.12.10 |
백준 - 1074번 Z python 문제풀이 [Hellfer] (2) | 2023.12.08 |
백준 - 1780번 종이의 개수 python 문제풀이 [Hellfer] (0) | 2023.12.07 |
백준 - 2588번 곱셈 python 문제풀이 [Hellfer] (4) | 2023.12.07 |
백준 - 1931번 회의실 배정 python 문제풀이 [Hellfer] (4) | 2023.12.06 |
백준 - 1978번 소수 찾기 python 문제풀이 [Hellfer] (2) | 2023.12.06 |