반응형
1. 간단한 압축 풀기
문제 해결
1. 문자열 인덱싱 하기. D2
2. 하나의 변수를 만들고 알파벳과 그 알파벳의 갯수만큼 문자열로 더해준다.
3. 너비가 10이므로 변수를 길이가 10만큼씩 잘라서 출력해준다.
🌧 2번과 3번을 동시에 할 수도 있을 것 같다😶
소스 코드
T = int(input())
for tc in range(1, 1+T):
n = int(input())
document = ''
for _ in range(n):
word, number = input().split()
document += word*int(number)
print('#{}'.format(tc))
for i in range(0, len(document), 10):
print(document[i:i+10])
출처: SW Expert Academy
원본 문서는 너비가 10인 여러 줄의 문자열로 이루어져 있다. 문자열은 마지막 줄을 제외하고 빈 공간 없이 알파벳으로 채워져 있고 마지막 줄은 왼쪽부터 채워져 있다. 이 문서를 압축한 문서는 알파벳과 그 알파벳의 연속된 개수로 이루어진 쌍들이 나열되어 있다. (예 : A 5 AAAAA) 압축된 문서를 입력 받아 원본 문서를 만드는 프로그램을 작성하시오. [예제] 압축된 문서의 내용 A 10 B 7 C 5 압축을 풀었을 때 원본 문서의 내용 AAAAAAAAAA BBBBBBBCCC CC [제약사항] 1. 압축된 문서의 알파벳과 숫자 쌍의 개수 N은1이상 10이하의 정수이다. (1 ≤ N ≤ 10) 2. 주어지는 알파벳 Ci는 A~Z의 대문자이다. (i는 줄의 번호로 1~N까지의 수) 3. 알파벳의 연속된 개수로 주어지는 수 Ki는 1이상 20이하의 정수이다. (1 ≤ Ki ≤ 20, i는 줄의 번호로 1~N까지의 수) 4. 원본 문서의 너비는 10으로 고정이다. [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스에는 N이 주어지고 다음 줄부터 N+1줄까지 Ci와 Ki가 빈 칸을 사이에 두고 주어진다. [출력] 각 줄은 '#t'로 시작하고, 다음 줄부터 원본 문서를 출력한다. (t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.) |
2. 간단한 소인수분해
문제 해결
1. 주어진 숫자를 소인수로 차례차례 나누어 준다.
2. 나누어떨어지지 않을 때까지 나누어주고 몇번 나눴는지 저장한다.
3. 저장한 결과를 출력한다.
🌧
소스 코드
T = int(input())
for tc in range(1, T + 1):
numbers = [2, 3, 5, 7, 11]
result = []
n = int(input())
idx = 0
for number in numbers:
cnt = 0
while True:
if n % number == 0:
n = n // number
cnt += 1
else:
result.append(str(cnt))
break
print('#{} {}'.format(tc, ' '.join(result)))
출처: SW Expert Academy
숫자 N은 아래와 같다. N=2a x 3b x 5c x 7d x 11e N이 주어질 때 a, b, c, d, e 를 출력하라. [제약 사항] N은 2 이상 10,000,000 이하이다. [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에 N 이 주어진다. [출력] 출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다. (t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.) |
반응형
'Algorithm Problem > Python' 카테고리의 다른 글
[python] SWEA - 1289. 원재의 메모리 복구하기 (2) | 2020.07.16 |
---|---|
[python] SWEA - 1961. 숫자 배열 회전/ 1970. 쉬운 거스름돈/ 10059. 유효기간 (0) | 2020.07.14 |
[python] 백준 - 10799. 쇠막대기 (2) | 2020.07.07 |
[python] 백준 - 2941. 크로아티아 알파벳 (0) | 2020.07.05 |
[python] 백준 - 11399. ATM (0) | 2020.07.03 |