문제 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. @ 내가 풀었던 방식 반복문을 쓸때 1과 0을 적절히 사용해야 할 것 같다. n = int(input()) for i in range(1, n+1): for _ in range(0,n-i): # 공백의 갯수 = 전체 - 줄의 번호 print(" ",end="") for y in range(0,i): # 별을 몇개 찍을지 print("*",end="") @ 조금 더 효율적인 방식 문자열에 곱하기를 하는 문법을 알지 못했다!..! n = int(i..
cnt0 = {0:1, 1:0, 2:1} cnt1 = {0:0, 1:1, 2:1} def test(x): if x in cnt1: print("%d %d" % (cnt0[x], cnt1[x])) return for i in range(3, x+1): cnt0[i] = cnt0[i-1] + cnt0[i-2] cnt1[i] = cnt1[i-1] + cnt1[i-2] if x == i: print("%d %d" % (cnt0[x], cnt1[x])) return c = int(input()) for _ in range(c): test(int(input())) cnt0 과 cnt1의 딕셔너리를 따로 만들고 각각이 피보나치 수열이라는 것을 깨닫고 진행하였다. 성공했지만 조금 더 효율적인 코드 작성을 위해 여러 검..