본문 바로가기

코드연습/Python

HackerRank | String Formatting

728x90

숫자나 문자를 주로 다루는 데서 필요한 String Formatting 방식 정리.

깔끔하게 정리된 print 구문을 보고 싶을 때 필요할 듯.

일상에서는 굳이 많이 쓰이지는 않을 듯.

def print_formatted(number):
    # your code goes here
    l1 = len(str(bin(n))[2:])
    for i in range(1,n+1,1):
        print(str(i).rjust(l1,' '),end=" ")
        print(oct(i)[2:].rjust(l1,' '),end=" ")
        print(((hex(i)[2:]).upper()).rjust(l1,' '),end=" ")
        print(bin(i)[2:].rjust(l1,' '),end=" ")
        print("")
if __name__ == '__main__':
    n = int(input())
    print_formatted(n)
  • 문자뒤 rjust는 문자의 오른쪽 정렬 그리고 ' '는 l1칸 만큼 배치된 곳에 빈곳은 '공백'으로 채워라는 의미이다.
  • 왼쪽 정렬인 ljust도 있고, zfill(num)을 이용해서 왼쪽에 0을 채워 줄 수 있다.
    1. Decimal
    2. Octal -> oct
    3. Hexadecimal (capitalized) -> hex
    4. Binary -> bin
  • Decimal을 제외한 숫자들이 [2:] 시작해야하는 지는 출제자의 칸 맞추는 기준에 달려 있다. 큰 의미 없어 보임.

'코드연습 > Python' 카테고리의 다른 글

HackerRank | Day 8: Dictionaries and Maps  (0) 2021.12.29
HackerRank | Capitalize!  (0) 2021.12.19
HackerRank | Alphabet Rangoli  (0) 2021.12.19
HackerRank | Text Alignment  (0) 2021.12.12
HackerRank | Nested Lists 풀이  (0) 2021.12.08