[알고리즘]/BOJ

[백준/Python] 13410 거꾸로 구구단/[파이썬]문자열 반대로 출력

개발새발주발 2022. 8. 2. 15:53
728x90

1. 문제 

N단 ,1~K까지 K개의 항이 주어진다. 이때 N*1, N*2, N*3 .. N*K까지의 항 각각을 뒤집어 그 중 가장 큰 값을 출력한다. 

 

2. 배경지식 

문자열 뒤집기 

1. for 문 

str='Hello JaeGyeong'
reverse_str=''

for temp in str:
#temp는 str의 문자 하나씩 빼옴
    reverse_str=temp+reverse_str 
    # 빼온 문자를 하나씩 붙임
print(reverse_str)

2. reverse()

str= 'Hello JaeGyeong'

list_str=list(str)
print(list_str)
list_str.reverse()
print(list_str)

print(''.join(list_str)) #리스트를 문자열로

3. 문자열 슬라이싱[::-1]

str='Hello JaeGyeong'
print(str[::-1])

 

3. 구현 방안 

-N,K 입력받기

-N단 K개 항을 역순으로 바꾸기(위 3개 방법중 하나 이용)

-역순으로 바꾼 항을 하나씩 추가하기(append()함수 사용)

-sorted()함수를 이용하여 리스트를 내림차순으로 정렬하여 [0]항을 출력하거나

-max()함수 이용하여 구하기 

 

4. 구현 코드  

n,k=map(int,input().split())
arr=[]
for i in range(1,k+1):
    arr.append(int(str(n*i)[::-1]))

print(max(arr))

5. 오답/풀이

-문자열 슬라이싱을 int형 자료에 바로 넣어 오류가 계속 떴었다 ! 

:: int형을 str로, 다시 int형으로 변환하여 사용해주어야한다.