BAEKJOON /2908:제출

hyihyi·2022년 1월 11일
1
post-thumbnail

[python] 문자열 거꾸로 출력하기

문자열을 뒤집어서 출력할 수 있는 방법 3가지

  1. 문자열 뒤집기 for 문
  2. 문자열 뒤집기 reverse
  3. 문자열 뒤집기 [::-1]

1. 반복문을 통해서 파이썬 문자열 뒤집기

for 반복문을 통해 기존의 문자열 앞에 하나씩 넣어서 밀어준다.
"abcd" 라는 문자열이 있다면
a, b, c, d 이런 식으로 for 반복문을 돌고
새 문자열 = a + 새 문자열('')
새 문자열 = b + 새 문자열('a')
새 문자열 = c + 새 문자열('ba')
새 문자열 = d + 새 문자열('cba')

# for 반복문을 이용해서 문자열 뒤집기 
name = "hyihyi1529" 
reverse_name = '' 

for c in name: 
	reverse_name = c + reverse_name 
 
print(f'name : {name}') 
print(f'reverse : {reverse_name}')


변수 c 가 문자 하나하나 빼오는 것이고,
그렇게 빼온 문자를 새 문자열 앞에다 계속해서 연결해주는 것

2. 파이썬 리스트 reverse를 이용해서 문자열 뒤집기

  • 문자열에는 reverse 함수가 존재하지 않음
  • 문자열을 list 타입으로 변환한 다음 리스트로 변환한 문자열을 거꾸로 바꾸어 줄 수 있음
  • list 타입을 join 함수를 이용해서 다시 문자열 타입으로 만들어 주면 됨
# 리스트의 reverse를 이용해서 문자열 뒤집기 
name1 = "ab BlockDMask cd" 
print(f'name1 : {name1}') 

# 문자열을 리스트로 
name_list = list(name1) 
print(f'name_list : {name_list}') 

# 리스트 역순으로 
name_list.reverse() 
print(f'name_list : {name_list}') 

# 리스트를 문자열로 
name2 = ''.join(name_list) 
print(f'name2 : {name2}')

'구분자'.join(리스트)

'구분자'에 들어온 구분자를 넣어서 하나의 문자열로 합쳐줍니다.

  • '_'.join(['a', 'b', 'c']) 라 하면 "a_b_c"와 같은 형태로 문자열을 만들어서 반환해줌

' '.join(리스트)

  • ' '.join(리스트)를 이용하면 매개변수로 들어온 ['a', 'b', 'c'] 이런 식의 리스트를 'abc'의 문자열로 합쳐서 반환해주는 함수
  • 반환자가 공백인 상태

3. [::-1] 문자열 슬라이싱을 이용해서 파이썬 문자열 뒤집기

문자열[시작:끝]
문자열[시작:끝:규칙] 규칙은 슬라이싱을 하는 규칙
: 2가 들어가게 되면 [0], [2], [4] .. 이런 식으로 문자열을 자르게 됨

name1 = "HyiHyi's blog" 
name2 = name1[::1] 
name3 = name1[::2] 
name4 = name1[::-1] 
name5 = name1[::-2] 
print(f'name : {name1}') 
print(f'name[::1] : {name2}') 
print(f'name[::2] : {name3}') 
print(f'name[::-1] : {name4}') # 우리가 원하는 역순 출력 
print(f'name[::-2] : {name5}')


<문제 설명>

세자리 수 두개를 입력받고 그 두개중 뒤집은 수가 더 큰 수를 출력하는 프로그램을 작성하자.

<문제 풀이>

def reverseNum(num): #수를 뒤집어주는 reverseNum함수
    word = str(num)[::-1]
    return int(word)

a, b = map(int, input().split()) #입력받은 문자열을 int로 바꿔줌
if reverseNum(a) > reverseNum(b): #a와 b 중 뒤집은 수가 더 큰 수를 출력
    print(reverseNum(a))
else:
    print(reverseNum(b))
profile
자유롭게 쓴 나의 자유로운 Development voyage⛵

0개의 댓글