목록전체 글 (601)
sm 기술 블로그
sort 함수 리스트명.sort(옵션) # reverse = True (내림차순) 리스트의 원본값을 직접 수정한다. 만약 a1 = [7, 1, 5] print('a1:', a1) a2 = a1.sort() print('a1:', a1) print('a2:', a2) 의 출력 결과는 a1: [7, 1, 5] a1: [1, 5, 7] a2: None 이렇게 되는데 그 이유는 원본값을 직접 수정하기 때문이다. sorted()함수 sorted(리스트명 , 옵션) # reverse = True (내림차순) 원본 값은 그대로고 정렬 값을 반환한다. 만약 a1 = [7, 1, 5] print('a1:', a1) a2 = sorted(a1) print('a1:', a1) print('a2:', a2) 의 출력 결과는 ..
let input = require('fs').readFileSync(0).toString().trim().split('\n').map(Number); N = input[0]; input.shift(); //산술 평균 let avg = input.reduce((a,b)=>(a+b))/N; if(-1 find_max){ arr_repo = []; cnt = 0; find_max = arr[i]; max = i - 4000; arr_repo.push(max); continue; } if(arr[i] == find_max){ cnt ++; arr_repo.push(i-4000); continue; } } if(cnt >= 1){ console.log(arr_repo.sort((a, b) => a - b)[1]..
import sys input = sys.stdin.readline N = int(input()) num = sorted([int(input())for _ in range(N)]) # 산술평균 avg = sum(num)/N if -1 < avg < 0: print(0) else: print(round(avg)) # 중앙값 midValue = num[N//2] if -1 < midValue < 0: print(0) else: print(midValue) # 최빈값 max = 0 arr = [-1]*8001 cnt = 0 arr_repo = [] find_max = 0 if(len(num) == 1): print(num[0]) else: for i in num: arr[i+4000] += 1 for i in..
import sys input = sys.stdin.readline N = int(input()) num_arr = [0]*10001 for i in range(N): num_arr[int(input())] += 1 # 카운팅 for i in range(10001): for _ in range(num_arr[i]): print(i) 카운팅 정렬 카운팅 정렬이란 정렬하고자 하는 배열에 해당 인덱스에 수를 하나씩 증가시켜 중복되는 수가 있더라도 빠르게 정리 가능한 방법이다. 문제 해결 최대 10000보다 작거나 같은 자연수가 입력될 수 있다. 따라서 카운팅하기 위한 배열 num_arr를 만들어 준다. 이후 배열에 값에 따라 num_arr의 수를 증가시켜주고 결과를 출력시켜준 것이다.