코딩도장

메모리공간을 동적으로 사용하여 데이터 관리하기

프로그램 실행 순서

  1. 입력할 정수의 개수를 사용자로부터 입력 받는다.
  2. 입력받은 정수의 개수만큼 정수를 입력받는다.
  3. 입력받은 정수의 합과 평균 값을 출력한다.
  4. 할당된 메모리공간을 비운다.

요구사항

  1. 메모리공간은 사용자의 입력 수의 따라 변동된다.
  2. 사용한 공간은 마지막에 비워야 한다.
  3. 배열을 사용하면 안된다.
list

2015年05月13日 12:41

JS.LIM

(追記) (追記ここまで)
댓글 작성은 로그인이 필요합니다.
너무 쉬워요. n = input ("Number of Integer? ") n_list = input ("Write Number(s): ").split(' ') sum = 0 for i in n_list: sum += int(i) avg = sum/int(n) print ("SUM: %d" %sum) print ("AVG: %d" %avg) del n_list - 마포네로, 2015年05月14日 17:54 M D
+1 int(i) 구문이 배열 구조를 사용한거 아닌가요?? 제가 파이선은 잘 몰라서요...ᅲᅲ - JS.LIM, 2015年05月15日 10:43 M D
이건 배열이 아니라 반복문입니다. - SungWook Jung, 2017年04月24日 14:48 M D
split사용하면 배열 나오는거 아닌가요? 리스트인데 - 빗나감, 2017年12月12日 23:07 M D
+1 맨 윗분, 스플릿함수 쓰면은 결과가 리스트가 되어서 문제의 요점에 어긋나는게 맞은것 같아요. 분명 어렵지 않은 문제이긴 한데, 굳이 리스트를 쓴 이상 반복문 없이도 내재함수로 풀 수 있는 이점이 있습니다. 물론 이 문제에서는 시간복잡도가 그리 차이나지는 않지만, 만약 난이도가 높아져서 재귀나 메모이제이션이 불가피한 코딩의 경우, 조금이라도 반복문을 줄여서 시간복잡도를 줄이는 편이 좋을것 같습니다. 그 점이 살~짝 아쉽군용 - 암살자까마귀, 2019年04月30日 19:18 M D
이곳에 해답을 쓰지 말아주세요 // 파이썬은 걍 리스트로 해결되는 문제 아닌가요? 파이썬 리스트는 동적할당으로 아는데 근데 파이썬은 메모리가 실제로 비워졋는지 알 수 없으므로 이 문제는 풀 수 없을 듯. - yhpdoit, 2020年04月10日 12:14 M D
이렇게 풀면 처음에 입력받은 정수의 개수만큼 정수를 입력받는건 강요가아니라 사용자가 스스로 자기가 처음에 쓴 정수만큼 써야하는거아닌가요? - fox.j, 2021年02月05日 22:06 M D
심지어 동작도 제대로 안하는거 같은데요 쉽다고 하시면서 적으셨길래 파이썬 잘하시는 줄 알았는데 그것도 아니네요 - 흐음맨, 2022年02月05日 18:20 M D
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

150개의 풀이가 있습니다. 1 / 15 Page

num_of_n = int(input("입력할 정수 개수: "))
Sum = 0
for x in range(num_of_n):
 Sum += int(input("Enter num%d: " % (x+1)))
print("Sum: %d" % Sum)
print("Avg: %.2f" % (Sum / num_of_n))
del num_of_n, Sum, x

2015年12月31日 20:40

SPJung

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
#메모리공간을 동적으로 사용하여 데이터 관리하기
갯수 = int(input("입력할 정수 갯수를 적으세요 > "))
sum = 0
for i in range(갯수):
 j = int(input(str(i)+"번정수 > "))
 sum += j
avg = sum/int(갯수)
print("sum =",sum)
print("avg =",avg)
del sum, avg, 갯수

2015年12月12日 12:38

고 윤호

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
'''result = []
while 1:
 a = int(input("입력 할 정수의 개수를 입력하세요:"))
 for i in range(a):
 b = int(input("정수를 입력하세요:"))
 result.append(b)
 print("sum:",sum(result),"average:",(sum(result)/len(result)))
del result'''
#배열 쓰지 않은 것으로 수정 햇습니다. ᅲ
a = int(input("Num_of_Float:"))
sum = 0
for i in range(a):
 b = input("type your number:")
 sum += float(b)
print("sum:",sum,"average:",sum/a)
del a,sum
댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

문제의 뜻이 배열을 쓰지 않되, 입력값을 모두 메모리에 저장해서 합과 평균을 구하라는 것으로 이해했습니다.

엄하게 파이썬으로 링크드리스트를 구현했네요..

class N():
 def __init__(self):
 self.next = None
 self.n = 0
n_of_i = input('number of integers :')
print ('input itegers:')
L = N()
cur = L
for i in range(n_of_i):
 p = input()
 cur.n = p
 cur.next = N()
 cur = cur.next
sum = 0
cur = L
while 1:
 sum += cur.n
 if not cur.next : break
 cur = cur.next
del(L)
print 'sum ',sum
print 'average ',float(sum)/n_of_i

2016年01月21日 19:47

상파

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
while __name__ == '__main__':
 num = int(input("입력: "));a=0
 for x in range(num):
 a+=int(input('정수: '))
 if x == num-1:print(a, a/num);del(a);del(num)

반복문에 있는 range()는 괜찮겠죠? 파이썬 3.5.1입니다.

2016年03月16日 00:17

Flair Sizz

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

파이썬 3.4입니다.

sum = 0
n = int(input('? '))
for i in range(n):
 a = int(input('({})? '.format(i + 1)))
 sum += a
print('sum= {}, avg= {}'.format(sum, sum // n))
del sum, n

2016年03月19日 14:13

디디

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

C 입니다.

#include <stdio.h>
#include <stdlib.h>
int main()
{
 int a, i, s=0;
 int *ab;
 scanf("%d", &a);
 ab = (int*)malloc(sizeof(int)*a);
 for(i=0;i<a;i++){
 scanf("%d", ab+i);
 }
 for(i=0;i<a;i++){
 s += ab[i];
 }
 printf("sum:%d\navg:%.4f\n", s, (float)s / a);
 free(ab);
 return 0;
}

사실 구하는게 단순히 합계, 평균이라서 파이썬으로 쓰면, 변수를 선언하는 시점에 동적으로 할당되고 배열은 사용하지 않은 코드가 됩니다.

i = int(input())
s = 0
for _ in range(i):
 s += int(input())
print("""sum:{}
avg:{:.4f}""".format(s, s/i))
del s, i

2016年03月22日 19:04

룰루랄라

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

Python

try:
 counter = int(input("정수를 입력해주세요. "))
except TypeError as error:
 print(str(error))
 exit()
input_data = []
try:
 for j in range(0, counter):
 m = int(input("정수 %d번째 값을 입력해주세요. " % (j + 1)))
 input_data.append(m)
except TypeError as error:
 print(str(error))
 exit()
total = 0
for j in input_data: 
 total += int(j)
print("합은 %d" % total)
print("평균은 %d" % (total / counter))
del input_data

2016年04月28日 11:18

SanghoSeo

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

Python 2.7 입니다.

cnt = input("Enter count: ")
total_sum = 0
total_avg = 0.0
for x in range(1, cnt+1):
 temp = input("Enter number{0}: ".format(x))
 total_sum += temp
total_avg = total_sum/float(cnt)
print("Sum: {0}".format(total_sum))
print("Average: {0}".format(total_avg))
del cnt, total_sum, total_avg

2016年06月05日 10:42

Park Byunglim

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
a=int(input("정수의 개수 : "))
ab=0
for i in range(a):
 ab+=int(input("정수 입력 : "))
print("합 : %d , 평균 값 %f "%(ab,ab/a))
del ab,a,i

Python 3.5.2 C언어로 하신분들보니까 이래도 되는지 모르겠네요..

2016年07月25日 14:03

Zee

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

풀이 작성

(注記) 풀이작성 안내
  • 본문에 코드를 삽입할 경우 에디터 우측 상단의 "코드삽입" 버튼을 이용 해 주세요.
  • 마크다운 문법으로 본문을 작성 해 주세요.
  • 풀이를 읽는 사람들을 위하여 풀이에 대한 설명도 부탁드려요. (아이디어나 사용한 알고리즘 또는 참고한 자료등)
  • 작성한 풀이는 다른 사람(빨간띠 이상)에 의해서 내용이 개선될 수 있습니다.
풀이 작성은 로그인이 필요합니다.
목록으로
코딩도장

코딩도장은 프로그래밍 문제풀이를 통해서 코딩 실력을 수련(Practice)하는 곳입니다.

list x 1

언어별 풀이 현황
전 체 x 238
python x 150
cpp x 15
java x 27
기 타 x 40
cs x 4
objectivec x 1
php x 1
코딩도장 © 2014 · 문의 [email protected]
피드백 · 개인정보취급방침 · RSS

AltStyle によって変換されたページ (->オリジナル) /