
리스트나 배열의 앞에서부터 차례대로 합을 더해가는 것 다음과 같은 리스트가 있을 때,nums = [3, 1, 4, 1, 5]위 리스트의 누적합은 다음과 같다.[3, 4, 8, 9, 14] 3 = 34 = 3 + 18 = 3 + 1 + 49 = 3 + 1 + 4 + 114 = 3 + 1 + 4 + 1 + 5위와 같은 형태로 계산이 되는 것이다. 누적합의 형태는 앞에서부터 더하는 prefix sum, 뒤에서부터 더하는 suffix sum 2가지의 형태가 존재한다.하지만, 코테에서는 prefix sum 정도만 알고 있어도 된다. suffix sum은 대회에 나갈 경우 필요할 듯. 한번 정해진 배열의 누적합은 구할 수 있지만 중간중간 값이 변하는 동적 배열의 경우 펜윅트리를 사용해야 함.이건 나중에... 기본적..
알고 있으면 좋은 것!python의 수학 함수반올림 : round(숫자)=> 소수점 이하 자리수 지정도 가능!ex) round(1.2345, 3) => 소수점 세번째 자리까지라는 뜻. 즉, 4번째에서 반올림하여 1.235올림, 내림은 import math 필요올림 : math.ceil(숫자)내림 : math.floor(숫자) '''첫째 줄에 시험장 개수 n둘째 줄에 응시자 수 a총감독관 감시 b, 부감독관 c* 총감독관은 오직 1명부감독관은 여러명 가능''''''33 4 52 2총 감독관 3명1, 1, 2=======================51000000 1000000 1000000 1000000 10000005 7총 감독 5원래 값에서 -b(그 다음 값에서 // c) => 올림하기'''import..

기본 문법from itertools import combinationscombinations(iterable, r) iterable: 조합을 만들 대상 (예: 리스트, 문자열 등)r: 조합할 원소 개수순열과 다르게 r이 꼭 있어야 한다! 📌 조합은 순서를 고려하지 않고 r개의 원소를 선택=> 이 말은 (1,2) == (2,1) 이라는 뜻 ex 1) 리스트에서 조합 구하기from itertools import combinationsdata = [1, 2, 3, 4]result = list(combinations(data, 2))print(result)[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)] ex 2) 문자열에서 조합 구하기from itertools impor..
https://www.acmicpc.net/problem/14888 # 수 순서 바꾸기 X# 식의 계산은 연산자 우선 순위를 무시하고 앞에서부터 진행# 나눗셈은 정수 나눗셈. 즉, 몫만 취함.# 음수를 양수로 나눌 때는 양수로 바꾸고 그 몫을 음수로 바꿈from itertools import permutationsimport sysinput = sys.stdin.readlinen = int(input())listA = list(map(int, input().split()))# 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, 곱셈(×)의 개수, 나눗셈(÷)의 개수calc = list(map(int, input().split()))# 개수에 따라 연산자 리스트 만들기ops = []for i in range(..

순열(Permutation) 개념 정리🔢 수학적 정의순열(Permutation)이란:→ 서로 다른 n개 중에서 r개를 선택하여 순서 있게 나열하는 것공식예시:['A', 'B', 'C']에서 2개를 순서 있게 나열→ 결과: AB, AC, BA, BC, CA, CB→ 총 6가지 파이썬에서의 구현▶️ itertools.permutations()from itertools import permutationsdata = ['A', 'B', 'C']result = list(permutations(data, 2))print(result)# 출력: [('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]permutations(iterable, r..
맨 처음에 완전 단순하게 다음과 같이 풀었다가 시간초과로 실패했다...def solution(players, callings): answer = [] pl = len(players) cl = len(callings) for c in range(cl): for p in range(pl): if(callings[c]==players[p]): # 앞 플레이어와 자리 바꾸기 players[p-1], players[p] = players[p], players[p-1] return players 계속 시간초과가 나서 결국 풀이 찾아봤다.파이썬 딕셔너리를 활용하는 방법이 있었다! def solution(p..
- Total
- Today
- Yesterday
- nullsafety
- 1546
- 이중포인터
- 2차원 배열
- 콘솔창
- 자료형
- 11720
- 이미지분류
- c언어
- Unity
- 1152
- TensorFlow
- 백준
- 동적할당
- 코뮤니티
- 문자열 함수
- C심화
- 아스키코드
- 절대강좌유니티
- sourcetree
- 형변환
- DART
- split
- scanf
- github
- C
- Failed to create GICache
- 미로찾기
- generics
- 공백포함
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |