Python45 배열 - 특정 수 도달하기 문제 :500이하의 정수가 총 10번주어짐. 250이상의 정수가 주어지면 마지막으로 주어진 수 제외하고 주어진 모든 정수들의 합계와 평균을 구하는 프로그램을 작성해라. 단, 250 이상의 정수가 없다면 10개의 합계와 평균을 계산해야함. ex) 4 10 37 53 88 260 67 88 500 400 출력 : 192 38.4 1) 한줄에 입력되는 입력값이 총 10개이므로 10개 초과되어 input되지 않음. 2) for문이 이 입력문을 순회하면서 250보다 작은지 아닌지 확인 > 250보다 클 경우, 그 값이 나오기 전까지 값들을 모두 합해야하고, 그 값들의 갯수 또한 구해야함. > 여기서 값들의 갯수는 for문의 순회 갯수와 같음 > 따라서 누적합이 만들어지는 변수하나와 누적 갯수가 만들어지는 변수를.. 2025. 3. 4. 배열 - 기본 개념(리스트 slicing/append/pop/len) * 한 줄에 값들이 1 2 3 4 있는경우, 이를 arr = input().split() 으로 배열형태로 만들 수 있다. > 이를 for문으로 순회하며 arr 자릿수를 하나씩 sum_val에 더하는 형식으로 리스트 값들을 다 더할 수 있다. * arr = list(map(int, input().split())) 하면 input으로 가져온 배열을 리스트화할 수 이다. * n, m = tuple(map(int, input().split())) 하면 n, m에 각 숫자를 나눠 할당할 수 있다 > 또는 map(int, input().split()) * list에 있는 원소를 순차적으로 탐색하는 코드는 다음과 같은 내이밍의 개형작성이된다.arr = [1, 2]for elem in arr: print(ele.. 2025. 3. 4. 다중반복문 - 소수 구하기(bloon 변수활용) N이 주어질때, 1이상 N이하의 소수를 오름차순으로 출력하는 프로그램을 작성해라 1. 1부터 N이하의 값들 하나하나를 2부터 n까지의 각 숫자들을 나누어 나머지가 0인 값이 있다면 -> 소수가 아님 없다면 -> 소수임. 2. is_prime이라는 bool type 변수를 만들어 초기값을 True, 단 한번이라도 나누어 떨어지는 순간에 is_prime값을 false로 설정해줌. 이를 통해 1부터 n사이의 소수를 전부 구할 수 있게 된다. * 단 한번이상 나타날때 bloon 변수를 활용해주는 것이 좋다.# 변수 선언 및 입력n = int(input()) # 1부터 n까지 소수를 구합니다.for i in range(1, n + 1): if i == 1: continue isprime = .. 2025. 3. 4. 다중반복문 - 완전 수 어떤 수 n의 완전수 구해라 (진약수 : n을 나누어 떨어지게 하는 양수 중에서 n이 아닌 수. 이때 n의 진약수의 총합이 n과 같다면, n을 완전수라고 합니다.) 예로, 28의 진약수는 1,2,4,7,14이고 이들의 합은 28이므로, 28은 완전수이다. 문제: 두 정수 start, end가 주어진다. start이상 end이하인 완전수의 갯수를 세는 프로그램을 작성해라. 1. start이상 end까지의 정수를 순회하며 각 숫자의 약수의 합을 계산 2. 특정 숫자 n의 (자기 자신을 제외한) 약수의 합을 알아내기 위해 1부터 n-1까지의 숫자들로 n을 나눠보며 나머지가 0인 수들을 구한다. 3. 2에서 구한 수들의 합을 계산한다. 4. 조건문을 주어 약수의 합이 n이면 정답 갯수를 1 증가 시켜준다. s.. 2025. 3. 4. 다중반복문 - M번에 걸친 3N + 1 수열에서 N이 1이되는데 걸리는 횟수 자연수 N이 주어짐. N에서 시작해서 N이 짝수면 2로 나누고, N이 홀수면 3을 곱하고 1을 더하는 것을 N이 1이 되기 전까지 계속 반복 총 몇 번을 반복해야 1이 되는지를 계산하는 프로그램 작성하기 ex. N=3 3->(3*3+1)->5->(5*3+1)->8->4->2->1 총 7번 이 문제는 총 M번에 걸쳐 N값이 주어짐. 각각의 경우에 대해 주어진 N이 1이 되는지 걸리는 횟수를 구해라. 첫번째 줄에 M이 주어짐. 두번쨰 줄부터 M개의 줄에 걸쳐 N이 한줄에 하나씩 주어짐. 1. M개에 따라 N값들이 주어지므로, M번 행마다 N값들이 input됨. 2. 인풋된 값을 a라 두고, a가 홀수면, a*3+1 / 짝수면 a/2를 반복을 a=1이 될때까지 해야함. 3. 2번에서 반복될때마다 1씩 증가하.. 2025. 3. 4. 다중반복문 - ab곱 N번 구하기 정수 N와 N개의 a,b 쌍이 주어짐. a부터 b까지의 곱셈을 구해라. 첫줄에 N이 주어지고 두번째 줄부터 각줄마다 a,b가 주어진다. 11예제1 3 1 4 6 8 2 5 출력 24 336 120 1. n이 주어지고 a,b도 주어짐. > 첫행인 a=1, b=4일때 1*2*3*4 = 24이 출력됨. > 두번째 행인 a=6, b=8일때 6*7*8 = 336이 출력됨 2. 행에 따라 a, b를 input하고 행마다 곱을 구해서 출력해야 함 3. 행마다 곱을 구해야 하므로 다음 행에 들어갈때 합을 구하는 변수는 1로 초기화 되어야 함. n = int(input())for _ in range(n) : a, b = map(int, input().split()) ab_double = 1 for.. 2025. 3. 4. 이전 1 2 3 4 5 ··· 8 다음