ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 구름 : 거꾸로 수 비교
    코딩테스트/구름 2024. 6. 12. 16:33

    문제 <- click이 될까?


    [문제 풀기 전 생각한 부분]


    1. 뒤집고 제일 첫 번째 자리 수만 비교하면 될듯.

    2. 그러면 뭐하러 뒤집지 그냥 첫 번째 인덱스만 읽어서 비교하자

    -> 뒤집고 일의 자리 수만 비교하는 걸로 문제를 읽어서 잘못 생각했습니다.


    [my_code]

    a, b = map(int,input().split())
    
    for i in range(7):
    	if str(a)[0]>str(b)[0]:
    		print(a)
    	elif str(a)[0]<str(b)[0]:
    		print(b)
    	else:   # 같은 경우, 크거나 같거나, 작거나 같거나 
    		print("두 수의 값은 같습니다.")


    [문제점]

    1. 애초에 일의 자리만 비교하는 게 아니라 그냥 뒤집어서 비교하는 거입니다....


    [문제점 해결]

    a, b = input().split()
    
    a_reversed = a[::-1]
    b_reversed = b[::-1]
    
    if a_reversed > b_reversed:
    	print(a)
    else:
    	print(b)

     

    [문풀 하면서 remind 한 부분]

    1. 정수형은 인덱싱을 활용할 수 없다. 

    a = 100
    print(a[0])
    
    # 결과
    TypeError: 'int' object is not subscriptable

    만약 정수형으로 받아서 인덱싱을 하려면 문자열로 바꿔줘야 된다.

    a = 100
    print(str(a)[0])
    
    # 출력결과
    1

     

     

    2. 문자열인 숫자 끼리 비교했을 때, 어떻게 될까? ex) 문자열인 1과 문자열인 2를 비교하면 뭐가 출력될까?

    a, b = input().split()
    
    if a > b:
        print("a가 더 큽니다.")
    elif a < b:
        print("b가 더 큽니다.")
    else:
        print("문자열인 두 숫자는 같습니다.")

    문자열이지만 더 높은 숫자의 값이 출력됨을 알 수 있다. 즉 1과 2가 있으면 2가 출력된다는 말이다. 

     

    3. 문자열 뒤집기 

    num = input()   
    print(type(num))
    reversed_num = int(num[::-1])
    
    print(type(reversed_num))
    print(reversed_num)
    
    # 입력
    123
    
    # 출력결과
    <class 'str'>
    <class 'int'>
    321

    사용자로부터 입력 받은 것 -> 숫자여도 문자열임을 확인할 수 있다. 

    그러므로 입력 받은 숫자(문자열)을 정수형으로 사용하려면 변환하는 과정을 거쳐야 된다.

    '코딩테스트 > 구름' 카테고리의 다른 글

    [Python] 구름 : 앵무새 꼬꼬  (0) 2024.06.28
    [JS] 구름 : 단어 개수 세기  (0) 2024.06.25
    [Python] 구름 : 고장난 컴퓨터  (0) 2024.06.12
    [Python] 구름 : 절약  (0) 2024.06.12
Designed by Tistory.