취뽀 기록

#열심히 살자 #취업 #공부

코드트리 해설 67

[코드트리] n번 반복 > 3n + 1 수열 m번(★)

자연수 n이 주어집니다. n에서 시작하여 n이 짝수면 2로 나누고, n이 홀수면 3을 곱하고 1을 더하는 것을 n이 1이 되기 전까지 계속 반복하려고 합니다. 총 몇 번을 반복해야 1이 되는지를 계산하는 프로그램을 작성해보세요. 예를 들어 n = 3인 경우 3 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1 순서로 1이 되므로 답이 7이 됩니다. 이 문제에서는 총 m번에 걸쳐 n 값이 주어집니다. 각각의 경우에 대해 주어진 n이 1이 되는데 걸리는 횟수를 구해야 합니다. # 변수 선언 및 입력 m = int(input()) # m회 반복합니다. for _ in range(m): # 변수 선언 및 입력 n = int(input()) ans = 0 # n이 1이 될 때까지 3n + 1을 반..

[코드트리] 알파벳 출력 > 알파벳 출력하기 2

정수 n의 값을 입력받아 다음과 같이 영문자를 출력하는 프로그램을 아래 예를 참고하여 작성해보세요. Z 다음에는 A가 나와야 합니다. 예) n에 2가 주어지는 경우 A B C n에 3가 주어지는 경우 A B C D E F # 변수 선언 및 입력 n = int(input()) cnt = 'A' # 알파벳을 역삼각형 모양으로 출력합니다. for i in range(n): for _ in range(i): print(" ", end="") for _ in range(n - i): print(cnt, end=" ") cnt = chr(ord(cnt) + 1) if ord(cnt) > ord('Z'): cnt = 'A' print() # 나의 풀이 ------------------------------------..

[코드트리] 알파벳 출력 > 알파벳 출력하기

정수 n의 값을 입력받아 다음과 같이 영문자를 출력하는 프로그램을 아래 예를 참고하여 작성해보세요. Z 다음에는 A가 나와야 합니다. 예) n에 2가 주어지는 경우 A BC n에 3가 주어지는 경우 A BC DEF # 변수 선언 및 입력 n = int(input()) cnt = 'A' # 알파벳을 삼각형 모양으로 출력합니다. for i in range(n): for _ in range(i + 1): print(cnt, end="") cnt = chr(ord(cnt) + 1) if ord(cnt) > ord('Z'): cnt = 'A' print() # 나의 풀이 --------------------------------------- n = int(input()) cnt = ord("A") for i in..

[코드트리] 포맷에 맞춰 숫자 출력 > 구구단으로 이루어진 직각 삼각형(★)

다음과 같은 규칙에 따라 구구단을 직각삼각형으로 출력하는 프로그램을 작성해보세요. 예) n = 5 1 * 1 = 1 / 1 * 2 = 2 / 1 * 3 = 3 / 1 * 4 = 4 / 1 * 5 = 5 2 * 1 = 2 / 2 * 2 = 4 / 2 * 3 = 6 / 2 * 4 = 8 3 * 1 = 3 / 3 * 2 = 6 / 3 * 3 = 9 4 * 1 = 4 / 4 * 2 = 8 5 * 1 = 5 # 변수 선언 및 입력 n = int(input()) # 구구단으로 이루어진 직각 삼각형을 출력합니다. for i in range(1, n + 1): for j in range(1, n - i + 2): print(f"{i} * {j} = {i * j}", end="") if j != (n - i + 1): ..

[코드트리] 포맷에 맞춰 숫자 출력 > 특이한 출력

정수 n의 값이 주어지면 (1, 1)에서 (n, n)까지 특이한 조건을 만족하며 출력하는 프로그램을 작성해보세요. (1, 1)에서 오른쪽으로 차례대로 출력합니다 (i, j) 에서 i + j가 4의 배수가 되는순간 다음 줄로 넘어갑니다. # 변수 선언 및 입력 n = int(input()) # 특이한 조건대로 구구단을 출력합니다. for i in range(1, n + 1): for j in range(1, n + 1): if (i + j) % 4 == 0: print(f"({i}, {j})") else: print(f"({i}, {j})", end=" ") # 나의 풀이 ------------------------------- n = int(input()) for i in range(1, n+1): # ..

[코드트리] 모양대로 숫자 출력 > 규칙에 맞는 출력

정수 n이 주어졌을 때, 다음과 같은 규칙에 맞추어 출력하는 프로그램을 작성해보세요. n = 4 일 때 4 3 4 2 3 4 1 2 3 4 # 변수 선언 및 입력 n = int(input()) # 숫자로 이루어진 삼각형을 출력합니다. for i in range(n): for j in range(i + 1): print(n - i + j, end=" ") print() # 나의 풀이 ----------------------------------------- n = int(input()) for i in range(n): for j in range(i+1, 0, -1): # i + 1 열부터 1열까지 반대로 print(n-j+1, end = " ") # 감소하는 방향으로 .. print()

[코드트리] 구구단 > 구구단 만들기 2

정수 a, b를 입력받은 후, a이상 b이하에 해당하는 숫자의 구구단을 예제와 같은 형식으로 출력하는 프로그램을 작성해보세요. 매 줄마다 b에서 a로 1씩 감소하며 출력합니다. 곱해지는 값은 첫 번째 줄에서는 2, 두 번째 줄에서는 4, 세 번째 줄에서는 6, 그리고 네 번째 줄에서는 8임에 유의합니다. 그 예로 a = 2, b = 4 일 때의 출력은 다음과 같습니다. 4 * 2 = 8 / 3 * 2 = 6 / 2 * 2 = 4 4 * 4 = 16 / 3 * 4 = 12 / 2 * 4 = 8 4 * 6 = 24 / 3 * 6 = 18 / 2 * 6 = 12 4 * 8 = 32 / 3 * 8 = 24 / 2 * 8 = 16 # 변수 선언, 입력 inp = input() arr = inp.split() a,..

[코드트리] 구구단 > 구구단 만들기

짝수인 정수 a, b가 주어지면, a이상 b이하의 수 중 짝수에 해당하는 숫자의 구구단을 예제와 같은 형식으로 출력하는 프로그램을 작성해보세요. b에서 a로 감소하며 출력합니다. 6 * 1 = 6 / 4 * 1 = 4 / 2 * 1 = 2 6 * 2 = 12 / 4 * 2 = 8 / 2 * 2 = 4 6 * 3 = 18 / 4 * 3 = 12 / 2 * 3 = 6 ...............(생략)............... 6 * 8 = 48 / 4 * 8 = 32 / 2 * 8 = 16 6 * 9 = 54 / 4 * 9 = 36 / 2 * 9 = 18 # 변수 선언 및 입력 inp = input() arr = inp.split() a = int(arr[0]) b = int(arr[1]) # b부터 a..

[코드트리] continue문 > 친근하지 않은 수

1이상 n이하의 정수 중 친근하지 않은 수의 개수를 출력하는 프로그램을 작성해보세요. 친근한 수란 2, 3 또는 5로 나누어 떨어지는 수를 의미합니다. # 변수 선언, 입력 n = int(input()) cnt = 0 # 1부터 n까지의 수 중, 2 또는 3 또는 5로 나누어지지 않는 수의 개수를 구합니다. for i in range(1, n + 1): if i % 2 == 0 or i % 3 == 0 or i % 5 == 0: continue cnt += 1 # 출력 print(cnt) # 나의 풀이 ---------------------------------------- n = int(input()) cnt = 0 for i in range(1, n+1): if i % 2 != 0: if i % 3 ..

[코드트리] sum 계산하기 > 숫자 사이의 배수

두 개의 정수 a, b를 입력받아 a부터 b까지의 수 중 5 또는 7의 배수들의 합과 평균을 출력하는 프로그램을 작성해보세요. # 변수 선언 및 입력 inp = input() arr = inp.split() a = int(arr[0]) b = int(arr[1]) sum_val = 0 cnt = 0 # a부터 b까지의 수 중 5 또는 7의 배수인 수들을 더합니다. for i in range(a, b + 1): if i % 5 == 0 or i % 7 == 0: sum_val += i cnt += 1 # a부터 b까지의 수 중 5 또는 7의 배수인 수들의 평균을 구합니다. avg = sum_val / cnt # 출력 print(f"{sum_val} {avg:.1f}") # 나의 풀이 ------------..