[CodeUp] 1357,1358,1361

ㅎㅎ·2021년 5월 13일
0

algorithm 풀이

목록 보기
34/44

문제 1357번

n이 입력되면 다음 삼각형을 출력하시오.

예) n = 4

00
000
0000
000
00
0

입력

n이 입력된다.

출력

예시에 설명된 것과 같은 삼각형을 출력한다.

코드1

n = int(input())

for j in range(1,n+1):
    print(("*" * j), end=" ")
    print()
for i in range(n-1,0,-1):
    print(("*" * i), end=" ")
    print()

설명

  • 단순하게 1부터 n까지 늘어나는 삼각형 만들고, 밑으로 n-1부터 1까지 두가지 삼각형 합치는 방식으로 만들었다.
  • 더 for문을 각자 2개 쓰는것말고 좋은 방법이 있을 것 같은데 모르겠다.

문제 1358번

어떤 수 n을 입력받으면 다음과 같은 삼각형을 출력한다.

여기서 입력되는 n은 반드시 홀수이다.

입력

3부터 99 까지의 홀수 중 하나가 입력된다.

출력

Sample Output 같은 삼각형을 출력한다.

    0
   000
  00000

코드1

n = int(input())

for i in range(1,n+1):
    if i % 2 == 1: #홀수만
        a = "*" * i
        print(a.center(n)) # 가운데 정렬


# 문자열 포매팅 -가운데 정렬 2가지 방법. 
# print("{0:^10}".format("hi"))
# print(f"{'hi':^10}") 

설명

  • 가운데 정렬 : String.center(길이 n, '추가할 문자')을 사용해 변수 n의 가운데 정렬을 해주었다. 그리고 추가할문자는 필요없어서 생략
  • 위의 두가지 문자열 포매팅방법으로 가운데 정렬을 하려고 했는데 두가지 다 적용이 안되서 새로 찾은 가운데 정렬 방법을 적용했다.

문제 1361번

n이 입력되면 n층의 별 계단을 출력하시오.

예) n= 5인 경우,

**
  **
    **
      **
        **

입력

계단의 높이 n이 정수로 입력된다.( 1<= n <= 100)

출력

n층의 별 계단을 출력한다.(n이 1일 경우 **을 출력한다.)

코드1

n = int(input())

for i in range(0,n):
    print((" " * i) + "**")

0개의 댓글