티스토리 뷰

문제

: 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

 

입출력 규칙

1. 입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

2. 출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 

 


문제 풀이

<내 풀이1>

 

1) 반복문 for문 활용

 

for문을 활용하여, 문자열을 곱하였다.

파이썬에서는 문자열 뒤에 * 연산자를 활용하면 곱하는 숫자만큼 문자열을 반복해서 출력할 수 있다.

x = int(input())

for i in range(1,x+1):
    print('*'*i)

 

2) exec() 함수 활용

 

문자열 을 받아 실행하는 exec() 함수를 활용하였다.

i=1
exec("print('*'*i);i += 1;"*int(input()))

 

 

<숏코딩>

 

비트연산자인 '-~' 를 활용하였다.

for i in range(int(input())):
    print('*'*-~i)

 

'~n' : 비트 연산자 NOT으로, 'n'의 비트가 반전된 값을 반환한다. 이는 '-(n+1)'과 같다.

'-~n' : 비트 연산자의 결과에 마이너스를 붙인 것이다. 이는 '-(~n)' 또는 'n+1'과 같은 결과 값을 가진다.

따라서, '-~n'은 'n+1'을 의미한다.

 

결국, 아래와 같은 의미를 갖는다.

for i in range(int(input())):
    print('*'*(i+1))
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함