N = int(input()) minus = 1 for Repeat in range(0, 2 * N - 1): if 2 * N - Repeat > N: for repeat in range(0, Repeat): print(" ", end = "") for Rpt in range(0, 2 * N - minus): print("*", end = "") minus += 2 if Repeat == N - 1: minus -= 4 else: for repeat in range(0, 2 * N - Repeat - 2): print(" ", end = "") for Rpt in range(0, 2 * N - minus): print("*", end = "") minus -= 2 print("")
소스를 조금 더 간단하게 해보려고 했지만 이게 최대인거 같다. N = int(input()) minus = 2 for Repeat in range(1, N * 2): if N - Repeat >= 0: for repeat in range(0, Repeat): print("*", end = "") for Rpt in range(0, N * 2 - minus): print(" ", end = "") for rpt in range(0, Repeat): print("*", end = "") minus += 2 if N - Repeat == 0: minus -= 4 else: for repeat in range(0, 2 * N -Repeat): print("*", end = "") for Rpt in range(..
지금까지 나온 문제들을 잘 섞어보자 N = int(input()) minus = 2 for Repeat in range(1, 2 * N): if N - Repeat >= 0: for repeat in range(Repeat, N): print(" ", end = "") for rep in range(0, 2 * Repeat - 1): print("*", end = "") else: for Rpt in range(0, -(N - Repeat)): print(" ", end = "") for rpt in range(1, 2 * N - minus): print("*", end = "") minus += 2 print("")
2자리수 까지는 전부 등차수열을 이루기 때문에 입력받은 그대로 출력하면 된다. 3자리수부터는 100의 자리수 - 10의 자리수 와 10의 자리수 - 1의 자리수의 값이 같을 경우 개수를 추가하는 방식으로 풀었다.1000의 경우에는 999와 상황이 같기 때문에 999까지만 계산해야 한다. num = int(input()) cnt = 99 if num < 100: print(num) quit() if num == 1000: for i in range(100, 1000): h,t,n = str(i)[0],str(i)[1],str(i)[2] if int(h) - int(t) == int(t) - int(n): cnt += 1 else: for i in range(100, num+1): h,t,n = str(i)..
에라토스테네스의 체 방법으로 생성자를 전부 생성한 다음 비교하여 아닌 값들을 출력 했다. num = [] def selfnum(num): sub = num if num >= 10000: sub += num // 10000 num %= 10000 if num >= 1000: sub += num // 1000 num %= 1000 if num >= 100: sub += num // 100 num %= 100 if num >= 10: sub += num // 10 num %= 10 sub += num return sub for Repeat in range(1, 10001): num.append(selfnum(Repeat)) for repeat in range(1, 10001): if num.count(repe..