코딩도장

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

프로그램 실행 순서

  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
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

27개의 풀이가 있습니다. 1 / 3 Page

반복문으로 해결 가능합니다.


import java.util.*;
public class ExampleTest {
 public static void main(String[] args) {
 Scanner scanner = new Scanner(System.in);
 System.out.print("입력 수 개수 > ");
 int inputNum = scanner.nextInt();
 int inputValue; int sum = 0;
 for(int a = 1; a <= inputNum; a++) {
 System.out.print("입력 수 > ");
 inputValue = scanner.nextInt();
 sum += inputValue;
 }
 System.out.println("합 : " +sum);
 System.out.println("평균 : " +sum/inputNum);
 }
}

2017年04月24日 15:12

SungWook Jung

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

자바 버전입니다..

import java.util.Scanner;
public class work {
 public static void main(String... args){
 Scanner scan = new Scanner(System.in);
 System.out.print("Number of item : ");
 int num = scan.nextInt();
 box start = new box(0, null);
 for(int i = 1 ; i<=num ; i++){
 System.out.println(i+" data : ");
 int get = scan.nextInt();
 if(i == 1) start.setItem(get);
 else start.setEnd(new box(get, null));
 }
 int sum = 0, avg;
 box point = start;
 while(true){
 sum += point.getItem();
 point = point.nextBox();
 if(point == null) break;
 }
 avg = sum/num;
 System.out.println("sum : "+sum+" avg : "+avg);
 }
} 
class box{
 private int item;
 private box next;
 public box(int item){this(item, null);}
 public box(int item, box next){this.item = item; this.next = next;}
 public int getItem(){return item;}
 public box nextBox(){return next;}
 public box setNext(box next){this.next = next; return next;}
 public int setItem(int item){this.item = item; return item;}
 public box setEnd(box end){
 if(next == null){next = end; return end;}
 else return next.setEnd(end);
 }
}

2016年02月24日 20:21

Alias

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.stream.IntStream;
import static java.lang.System.in;
public class MemoryAllocation {
 public static void main(String[] args) {
 Scanner sc = new Scanner(in);
 int n = sc.nextInt();
 List<Integer> l = new ArrayList();
 IntStream.range(0, n).forEach(i -> {
 l.add(sc.nextInt());
 });
 System.out.println("합 : " + l.stream().mapToInt(Integer::intValue).sum());
 System.out.println("평균 : " + l.stream().mapToInt(Integer::intValue).average().orElse(0));
 l.clear();
 }
}

자바에서 메모리 해제라는게 조금 걸리네요..

2017年03月14日 10:20

genius.choi

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
 public static void main(String[] args) {
 ArrayList<Integer> list = new ArrayList<>();
 Scanner sc = new Scanner(System.in);
 System.out.print("입력할 정수의 개수를 입력하세요 : ");
 int num = sc.nextInt();
 for(int i=1;i<=num;i++){
 System.out.print("정수를 입력하세요 : ");
 list.add(sc.nextInt());
 }
 int sum=0;
 for(int i=0;i<list.size();i++){
 sum+=list.get(i);
 }
 System.out.println("총합은 : " + sum);
 System.out.printf("평균은 : %.2f" , (float)sum/num);
 list.clear();
 }

2017年06月13日 16:03

kihyun lee

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import java.util.*;
public class MemoryManagement {
 public static void main(String[] args) {
 Scanner sc = new Scanner(System.in);
 int cnt = sc.nextInt();
 int sum=0;
 for(int i=0;i<cnt;i++) {
 sum += sc.nextInt();
 }
 System.out.println(sum + " " + (sum/cnt));
 }
}
댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
public class Example85 {
 public static void main(String[] args) {
 System.out.println("정수의 개수를 입력해 주세요.");
 Scanner scan = new Scanner(System.in);
 final int max = scan.nextInt();
 List<Integer> list = new ArrayList<>();
 for (int i = 0; i < max; i++) {
 System.out.println("정수를 입력하세요. : " + (max - i) + "번 남음");
 int num = scan.nextInt();
 list.add(num);
 }
 System.out.println("합계 : " + list.stream().mapToInt(x -> x).sum());
 System.out.println("평균" + list.stream().mapToInt(x -> x).sum() / (double)max);
 list.clear();
 }
}

2017年09月11日 22:31

흑돼지

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

자바

package cddj;
import java.util.Scanner;
public class cddj9 {
 public static void main(String[] args) {
 Scanner input = new Scanner(System.in);
 System.out.print("Number Of Integer : ");
 int N = input.nextInt();
 double sum = 0.0;
 for (int i = 0; i < N; i++) {
 sum += input.nextInt();
 }
 System.out.println(sum);
 System.out.println(sum/N);
 input = null;
 }
}

2017年12月21日 13:33

이택성

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

 Scanner sc = new Scanner(System.in);
 //처음 입력받는 개수
 System.out.print("처음변수입력 : ");
 int cntValue = sc.nextInt();
 System.out.println("-----------------------------------------------");
 int totalValue =0;
 for(int i=0; i<cntValue; i++)
 {
 System.out.print((i+1)+"번 변수입력 : ");
 totalValue += sc.nextInt();
 }
 System.out.println("-----------------------------------------------");
 System.out.println("총합 : "+totalValue);
 System.out.println("평균 : "+(double)totalValue/cntValue);

2017年12月22日 15:09

김준학

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
import java.util.*;
public class Malloc{ 
 public static void main(String[] args) {
 int num;
 int sum = 0;
 Scanner scan = new Scanner(System.in);
 System.out.print("입력할 정수의 개수: ");
 num = scan.nextInt();
 System.out.print("정수를 입력하시오: ");
 for(int i=0; i<num; i++) {
 int valueCollection = scan.nextInt(); 
 sum += valueCollection;
 } 
 System.out.println("정수의 합: " + sum);
 System.out.println("정수의 평균: "+ sum/num);
 scan.close();
 }
}

Console

입력할 정수의 개수: 5
정수를 입력하시오: 10 20 30 40 50
정수의 합: 150
정수의 평균: 30

2018年01月02日 03:39

장민호

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
public class ArrayListTest {
 public static void main(String[] args) {
 ArrayList<Integer> arraylist = new ArrayList<Integer>();
 Scanner scanner = new Scanner(System.in);
 System.out.print("정수 배열의 크기를 입력하세요 :");
 int number = scanner.nextInt();
 int sum = 0;
 double avg = 0.0;
 System.out.print("정수 " + number + "개를 엔터를 이용해서 입력하세요.");
 for(int i = 0; i < number; i++) {
 int num = scanner.nextInt();
 arraylist.add(num);
 sum += num;
 }
 avg = sum / number;
 System.out.println("합계는 : " + sum + ", 평균은 :" + avg + "입니다.");
 scanner.close();
 arraylist.clear();
 }
}

2018年02月20日 17:43

초초보

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

풀이 작성

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

코딩도장은 프로그래밍 문제풀이를 통해서 코딩 실력을 수련(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 によって変換されたページ (->オリジナル) /