[PYTHON] 2439 별 찍기 -2 ljust()/rjust()/zFill() 왼쪽정렬/오른쪽정렬/공백을 0으로채우는 법

    https://www.acmicpc.net/problem/2439

     

    2439번: 별 찍기 - 2

    첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

    www.acmicpc.net

    문제풀이

    • 오른쪽 기준으로 정렬해서 출력하기
    • rjust()이용해서 푸는 방법
    • for문을 활용해 공백을 채워주는 방법

    solution 1 - rjust()이용해서 푸는 방법

    import sys
    N = int(sys.stdin.readline())
    for i in range(1,N+1):
      print((i*'*').rjust(N))

    solution 2 - 자릿수에 맞게 공백을 채워주는 방법

    import sys
    N = int(sys.stdin.readline())
    for i in range(1,N+1):
      print((' '*(N-i))+(i*'*'))

    새롭게 배운 점

      • 왼쪽 정렬
    str.ljust(전체 자리 수)
    print('5'.ljust(5)) # 5
      • 오른쪽 정렬
    str.rjust(전체 자리 수)
    print('5'.rjust(5)) #     5
      • 공백을 0으로 채우는 zFill
    str.zFill(전체 자리 수)
    print('5'.zFill(5)) # 00005

    1부터 N까지 *의 개수가 증가하면서 출력하는 방법이 궁금하다면 아래 글을 참고해주세요

    2023.01.11 - [algorithm/백준] - [PYTHON] 2438 별찍기 -1

     

    [PYTHON] 2438 별찍기 -1

    https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 문제풀이 for문을 통해 1부터 N까지 반복한다. 반복한 수만큼 *

    menduck.tistory.com

    'algorithm > 백준' 카테고리의 다른 글

    [PYTHON] 8393 합  (0) 2023.01.12
    [PYTHON] 10950 A+B -3 for_in에서 _의 의미  (0) 2023.01.12
    [PYTHON] 2438 별찍기 -1  (0) 2023.01.11
    [PYTHON] 2739 구구단  (0) 2023.01.11
    [PYTHON] 2480 주사위 세개  (0) 2023.01.11

    댓글