2차원 리스트 전체 값 중에서 최대, 최소 값을 구할 때 흔히 max(리스트)를 넣어본 경험이 있을 겁니다.하지만, 원하는 값이 나오지 않습니다.보통 최대, 최소, 정렬 등 계산이 들어가는 함수는 대부분 2차원 배열 내 각 첫 번째 인자부터 계산이 됩니다.따라서 전체 계산한 값을 구하기 위해서는 다른 방법을 사용해야 합니다.data = [ [0, 3, 2], [0, 1, 2], [2, 1, 0], [3, 2, 1]]print(max(data)) #[3, 2, 1]print(min(data)) #[0, 1, 2]sort(data)print(data) #[[0, 1, 2], [0, 3, 2], [2, 1, 0], [3, 2, 1]]위 예시에서 max 함수는 data라는 2차원 배열 내의..
알고리즘 문제를 풀다 2의 몇 제곱인지를 구해야되는 경우가 생겼습니다.하지만 검색을 해도 잘 안나와서 좀 당황했습니다 ㅋㅋ그렇다고 다른 문제를 풀 때 다시 쓸 수도 있는데 for문을 돌리려니 좀 그렇더라구요.그러다가 생각해보니 로그를 쓰면 된다는 걸 깨달았습니다.그래서 생각난김에 정리하려고 블로그에 지수와 로그 부분 정리합니다 ㅎㅎ 거듭 제곱 계산# 2의 3제곱 계산print(2**3)>> 8# pow(a,b) a의 b제곱, pow(a,b,c)를 하면 pow(a,b)%c와 동일하게 계산됩니다.print(pow(2,3))>> 8# math.pow(a,b) a의 b제곱 pow()함수와 차이는 부동 소수점 형태로 반환한다는 겁니다.print(math.pow(a,b))>> 8.0 제곱근 계산(루트)print(2..
알고리즘을 풀다보면 로직이 맞는 데도 불구하고 시간 초과가 뜨는 경우가 있습니다. 이 경우 하나 확인해야할 것이 바로 입력 혹은 출력해야하는 데이터의 개수가 많은지 확인해봐야합니다. 만약 입출력해야될 데이터가 평소에 푸는 문제보다 많다면 input()과 print()의 속도가 느려서 그럴 수 있습니다. 이럴 때는 sys 라이브러리의 readline()과 write()를 사용하면 해결될 수 있습니다. 이번 포스팅에서는 파이썬 빠른 입출력에 대해서 작성하고자 합니다. #sys 라이브러리 사용 import sys #빠른 입력 n = sys.stdin.readline() #빠른 출력 sys.stdout.write(answer) 빠른 입력은 sys.stdin.readline()을 사용하면 됩니다. 주의할 점은 엔..
기본적으로 sort() 함수와 sorted()함수는 오름차순으로 정렬해줍니다. 이 전 포스팅에 언급했듯이 역순(내림차순)으로 배열할 경우 reverse 옵션을 True로 주면 됐었습니다. 코딩 특히 알고리즘을 풀다보면 여러 기준으로 정렬을 해야될 경우가 있기에 이에 대해 정리해보고자 합니다. 이 때는 key 옵션에 람다식으로 기준옵션을 주면 손쉽게 해결할 수 있습니다. 1) 길이를 기준으로 정렬 list.sort(key=lambda x : len(x)) sorted(list, key=lambda x : len(x)) 2) 여러 차원의 배열일 경우 원하는 조건으로 정렬 list.sort(key=lambda x: x[0]) #첫번째 인자를 기준으로 정렬 sorted(list, key=lambda x: -x[..
생성 list = [1, 2, 3, 4] 리스트 슬라이싱 : x index부터 (y - 1) index까지의 리스트를 반환 합니다. a[x:y] 리스트 길이 구하기(string도 사용 가능합니다) len(list) 원소의 추가 삭제는 다른 글에서 다뤘으므로 대충만 적겠습니다. #원소 추가 list.append(x) list.insert(index, x) #원소 삭제 del list[index] list.remove(value) list.pop() #마지막 원소 삭제 후 반환 정렬 : 기본적으로는 오름차순으로 정렬합니다. sorted(list) list.sort() #내림차순 sorted(list, reverse=True) list.sort(reverse=True) list.sort()는 리스트형의 메소드..
10진수로 변환 int(string, n) : n진수인 string 문자를 10진수로 변환합니다. 10진수에서 2, 8, 16 진수로 변환 bin(x) : int x를 2진수로 변환합니다. oct(x) : int x를 8진수로 변환합니다. hex(x) : int x를 16진수로 변환합니다. *변환된 결과는 모두 string 타입이며, 진수를 나타내는 0b, 0o, 0x가 붙어서 나옵니다. 따라서 숫자로 사용하려면 int(bin(x)[2:])처리를 해주면 됩니다.
string.upper() : string을 대문자로 변환 string.lower() : string을 소문자로 변환 upper()와 lower()은 비파괴적 함수로 변환 결과 문자열을 반환합니다. 또한, 알파벳이 아닌 문자가 있어도 상관없으며 알파벳만 대/소문자로 변환해줍니다. string.isupper() : string이 대문자인지 확인 string.islower() : string이 소문자인지 확인 모든 문자가 대/소문자여야하며, 알파벳이 아닌 문자가 들어있을 경우 False를 반환합니다. 공백이 포함되어 있는 알파벳 문자열은 가능하지만, 공백만 들어있는 경우에는 False를 반환합니다. string.title() : 띄어쓰기를 기준으로 첫 글자는 대문자로, 나머지 글자는 소문자로 변환 Jaden..
1. list 원소 추가 - list.append(x) : 마지막 인덱스에 x 추가합니다 - list.inser(index, x) : index에 x 추가(기존 원소들은 index부터 한 칸씩 뒤로 밀림)합니다 - list1 + list2 : list1 뒤에 list2를 붙여줍니다. 2. list 원소 삭제 - del list[index] : index의 원소 삭제합니다 - list.pop() : 마지막 원소 삭제합니다 - list.remove(x) : x 값을 가진 원소 삭제, x가 없으면 ValueError 발생합니다 -> del list[list.index(x)] : remove와 동일한 효과가 나옵니다
- Total
- Today
- Yesterday
- 파이썬
- 15기
- 회고
- 디프만
- 연합 동아리
- it 동아리
- 글로컬
- 10기
- 중간발표
- 6팀
- server
- 인프런
- 후기
- tdd
- python
- 스터디
- 글또
- 백엔드
- test
- 1주차
- 육.지.행
- 알고리즘
- 리빙랩
- spring boot
- 프로그래머스
- 육지행
- 서버
- 16기
- AWS
- 해커톤
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |