본문 바로가기
컴퓨터/백준 문제풀이

15969 행복, 10539 수빈이와 수열, 17269 이름궁합 테스트

by 하링아 2020. 10. 20.
반응형

15969 행복, 10539 수빈이와 수열, 17269 이름궁합 테스트

 

15969 행복

n, array = int(input()), list(map(int, input().split()))

print(max(array) - min(array))

 

 

10539 수빈이와 수열

# 첫번째 풀이
n, array = int(input()), list(map(int, input().split()))

A = []
A.append(array[0])

for i in range(1, n):
	A.append(array[i] * (i+1) - sum(A))
	
for i in range(n):
	if i == n-1:
		print(A[i])
	else:
		print(A[i], end=' ')
        
n, array = int(input()), list(map(int, input().split()))

# 두번째 풀이(마지막 출력 부분이 다름)
A = []
A.append(array[0])

for i in range(1, n):
	A.append(array[i] * (i+1) - sum(A))
	
for i in range(n):
	print(A[i], end=' ')

 

- 두번째 풀이의 경우 터미널에서 출력시 맨 끝에 아래 이미지와 같이 '%' 표시가 뜨는 것 때문에 오류라고 생각했었는데 제출해보니 통과가 된다. 저게 왜 뜨는지는 따로 알아봐야겠다.

 

 

 

17269 이름궁합 테스트

# 첫번째 풀이
alphabet = {'A':3, 'B':2, 'C':1, 'D':2, 'E':4, 'F':3, 'G':1, 'H':3, 'I':1, 'J':1, 'K':3, 'L':1, 'M':3, 'N':2, 'O':1, 'P':2, 'Q':2, 'R':2, 'S':1, 'T':2, 'U':1, 'V':1, 'W':1, 'X':2, 'Y':2, 'Z':1 }

n, m = map(int, input().split())
A, B = map(str, input().split())
len_A = len(A)
len_B = len(B)
A_num, B_num = 0, 0
array = []
while True:
	if len_A == A_num and len_B == B_num:
		break
	if A_num < len(A):
		array.append(alphabet[A[A_num]])
		A_num += 1
	if B_num < len(B):
		array.append(alphabet[B[B_num]])
		B_num += 1
		
len_array = len(array)
num_check = len_array
for _ in range(len_array - 2):
	for i in range(num_check-1):
		array[i] = array[i] + array[i+1]
		if array[i] >= 10:
			array[i] -= 10 

if array[0] == 0:
	print('{}%'.format(array[1]))			
else:
	print('{}{}%'.format(array[0], array[1]))
    
# 두번째 풀이
N, M = map(int, input().split())
A, B = input().split()

alp = [3, 2, 1, 2, 4, 3, 1, 3, 1, 1, 3, 1,
3, 2, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 1]

AB = ''
min_len = min(N, M)
for i in range(min_len):
	AB += A[i] + B[i]
	
AB += A[min_len:] + B[min_len:]

lst = [alp[ord(i)-ord('A')] for i in AB]

for i in range(N+M-2):
	for j in range(N+M-1-i):
		lst[j] += lst[j+1]
		
print("{}%".format(lst[0] % 10 * 10 + lst[1] % 10))

- ord() 함수를 이용해서 문자를 숫자로 변경할 수 있음

반응형

댓글