일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Matplotlib
- 알고리즘스터디
- 선그래프
- javascript
- python
- Selenium
- 자료구조
- 코딩테스트
- 프로그래머스
- queue
- type hint
- 가상환경
- 백준
- 파이썬
- 데이터시각화
- 노마드코딩
- String Method
- Algorithm
- 알고리즘
- openCV
- 정보처리기사 c언어
- dataframe
- pandas
- MySQL
- NumPy
- 알고리즘 스터디
- aws jupyter notebook
- programmers
- Join
- Stack
- Today
- Total
목록python (67)
조금씩 꾸준히 완성을 향해
mypy 런타임에서 타입을 체크하는 도구이다. Type hint의 타입을 기반으로 해 오류를 잡아낸다. ▶ mypy 설치 $ pip install mypy ▶ mypy 실행 $ mypy filename.py ▶ mypy실행과 파일 출력 동시에 하기 $ mypy filename.py && python filename.py ▶ 결과 아래와 같은 함수를 예시로 들어 보자. type hint는 정수로 지정했는데 다른 타입을 넣어 함수를 호출하는 경우이다. def cal_add(x: int, y: int) -> int: return x + y print(cal_add(1, 3)) print(cal_add('hello', 'world')) print(cal_add([1,2,3], [4,5,6])) mypy 를 실행..
Type Hint Python은 동적 언어이기 때문에 변수들의 타입을 마음대로 변경가능하다. 이는 파이썬의 장점으로 꼽히기도 하지만, 프로그램의 규모가 커지고 코드가 많아지게 되면 이 유연함이 도리어 단점이 되기도 한다. 특히 여러 사람이 같은 코드를 가지고 작업하거나 수정할 때에는 더 큰 혼선이 야기된다. 이를 방지하기 위해서는 공유하는 데이터의 타입을 정확히 지정해 줄 필요가 있다. 이 때 사용하는 게 바로 type hint이다. ※ 주의! 타입 힌트는 말그대로 힌트를 붙여놓은 것일 뿐, 타입 에러를 체크해 주는 기능은 아니다! 타입 힌트는 기본적으로 아래와 같이 변수 옆에 콜론으로 표시한다. int_var: int = 88 #정수형 str_var: str = "hello world" #문자형 flo..
문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. 출력 각 테스트 케이스에 대해 P를 출력한다. 예제 입력 1 2 3 ..
문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. 예제 입력 1 baekjoon 예제 출력 1 1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 ..
문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다. N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 ..
문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. 예제 입력 1 5 5 50 50 70 80 100 7 100 95 90 80 70 60 50 3 70 90 80 3 70 90 81 9 100 99 98 97 96 95 94 93 91 예제 출력 1 40.000% 57.143% 33.3..
산술 연산 (Arithmetic Operators) -넘파이는 파이썬과 동일하게 배열 간 산술 연산 지원 행렬과 행렬, 벡터와 백터 간 연산이 가능 -같은 배열의 구조일 때 요소별 연산(element-wise operation) 요소별 연산 : 두 배열의 구조가 동일할 경우 같은 인덱스 요소들끼리 연산 # a1 확인 a1 = np.arange(1, 10) print(a1) # [1 2 3 4 5 6 7 8 9] # 여러가지 산술 연산자, 함수 print(a1+1) #[ 2 3 4 5 6 7 8 9 10] print(np.add(a1, 10)) #[11 12 13 14 15 16 17 18 19] print(a1-2) #[-1 0 1 2 3 4 5 6 7] print(np.subtract(a1, 10)) ..
배열의 구조 확인 (shape 함수) ▶ 1차원 배열 구조 # 1차원 test_array = np.array([1, 4, 5, 8], float) print(test_array.shape) # 배열의 구조(shape)를 반환 (튜플 형태로) # output : (4,) => 요소의 개수 ▶ 2차원 배열 구조 # 2차원 matrix = np.array([[1,2,5,8], [1,2,5,8], [1,2,5,8]]) print(matrix.shape) # output : (3, 4) => (백터의 개수, 백터의 자리수) = (행의 개수, 열의 개수) ▶ 3차원 배열 구조 # 3차원 tensor_rank3 = [[[1,2,5,8], [1,2,5,8], [1,2,5,8]], [[1,2,5,8], [1,2,5,8]..
문제 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성. 입력 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다. 예제 입력 1 110 예제 출력 1 99 내가 짠 코드 n = int(input()) def func(n): cnt = 0 for i in range(1, n+1): if i >= 100: a1 = i %10 #셋째 자리수 i = i // 10 a2 = i % 10 #둘째 자리수 a3 = i // 10 #첫째 자리..