일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터시각화
- Matplotlib
- 노마드코딩
- 알고리즘스터디
- javascript
- pandas
- python
- Algorithm
- programmers
- 알고리즘
- 파이썬
- String Method
- Join
- 프로그래머스
- 가상환경
- Selenium
- aws jupyter notebook
- 정보처리기사 c언어
- queue
- 백준
- dataframe
- openCV
- 선그래프
- NumPy
- 알고리즘 스터디
- type hint
- MySQL
- 자료구조
- Stack
- 코딩테스트
- Today
- Total
목록python (67)
조금씩 꾸준히 완성을 향해
python 에서 반올림을 담당하는 round()에는 한가지 특이점이 있다. 바로 round_half_even 방식을 적용하고 있다는 것이다. 언뜻보면 사소한 것 같지만, 코딩테스트 등 정확한 계산이 필요한 상황에서는 모르면 큰일날 부분이다. ▶ round_half_up vs round_half_even 우리가 흔히 아는 반올림이란 5이상은 올림을 하고, 4이하는 내림을 하는 round_half_up 방식이다. 반면 round_half_even은 정확히 5 지점에 있다면 짝수쪽으로 근사값을 해주는 방식이다. a = 4.5 print(round(a)) # 4 a = 7.5 print(round(a)) # 8 이렇게 4.5면 짝수쪽으로 내림을 해서 4를 만들어 주고 7.5면 짝수쪽으로 올림을 해서 8일 만들..
▶ 문제 현수는 1부터 100사이의 자연수가 적힌 N장의 카드를 가지고 있습니다. 같은 숫자의 카드가 여러장 있을 수 있습니다. 현수는 이 중 3장을 뽑아 각 카드에 적힌 수를 합한 값을 기록하려 고 합니다. 3장을 뽑을 수 있는 모든 경우를 기록합니다. 기록한 값 중 K번째로 큰 수를 출력 하는 프로그램을 작성하세요. 만약 큰 수부터 만들어진 수가 25 25 23 23 22 20 19......이고 K값이 3이라면 K번째 큰 값 은 22입니다. ▶ 입력 설명 첫 줄에 자연수 N(3
▶ 문제 N개의 숫자로 이루어진 숫자열이 주어지면 해당 숫자열중에서 s번째부터 e번째 까지의 수를 오름 차순 정렬했을 때 k번째로 나타나는 숫자를 출력하는 프로그램을 작성하세요. ▶ 입력 설명 첫 번째 줄에 테스트 케이스 T(1
▶ 문제 어떤 자연수 p와 q가 있을 때, 만일 p를 q로 나누었을 때 나머지가 0이면 q는 p의 약수이다. 6의 약수는 1, 2, 3, 6, 총 네 개이다. 두 개의 자연수 N과 K가 주어졌을 때, N의 약수들 중 K번째로 작은 수를 출력하는 프로그램을 작성하시오. ▶ 입력 설명 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. ▶ 출력 설명 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. ▶ 입력 6 3 ▶ 출력 3 ▷ 내가 짜본 코드 import sys sys.stdin = open('input.txt', 'rt') n, k = map(int, input().sp..
문자열을 거꾸로 뒤집어 출력하기 위한 3가지 방법을 소개한다. ▶ slice 사용 슬라이싱을 사용하면 간단하게 문자열을 뒤집어 출력할 수 있다. slice(start, stop[, step]) 슬라이싱은 세가지 인자를 받는다. (마지막 step은 optional) start : 슬라이싱을 시작할 Index end : 슬라이싱이 종료될 Index (포함되지 않는 index -> end 직전 index까지 슬라이싱 ) step : index의 간격을 설정. 기본값은 1 str = 'Hello, World!' reversed_str = str[::-1] print(f'Original: {str}') print(f'Reversed: {reversed_str}') # Original: Hello, World! #..
index() find() 문자열에서 특정 문자열을 찾을 때 쓰는 함수들이다. 쓰임이 비슷하지만 결정적인 차이점이 존재한다. ▶ 사용 방법 두 함수 모두 사용 방법은 동일하다. str = 'Hello World' print(str.find('o')) # 4 print(str.index('o')) # 4 찾을 문자열을 함수의 인자로 넣어주면, 그 문자열의 index 값을 반환한다. ▶ 차이점 이 두 함수의 차이점은 존재하지 않는 문자열을 찾을 때 드러난다. str = 'Hello World' print(str.find('p')) # -1 find()의 경우 해당 문자가 존재하지 않을 때 -1을 반환한다. str = 'Hello World' print(str.index('p')) 반면에 index()의 경우..
Print() 함수에서 꼭 기억해야할 두 가지 활용법이 있다. ▶ sep sep 은 seperator의 약자로, print() 출력에서 값들 사이를 구분하는 구분자를 말한다. print(1, 2, 3, 4, 5, 6) # 1 2 3 4 5 6 print(1, 2, 3, 4, 5, 6, sep=' ') # 1 2 3 4 5 6 print() 함수로 출력을 할 때 구분자를 넣지 않는 경우가 더 많은데, 이 때 sep은 기본적으로 ' ' (한 칸 공백)으로 설정되어 있다. 즉, 값들 사이에 자동으로 한 칸 공백이 들어가서 출력이 되는 것이다. 만약 값들을 공백 없이 붙여서 출력하고 싶을 때는 아래와 같이 sep안에 빈 문자열을 넣으면 된다. print(1, 2, 3, 4, 5, 6, sep=' ') # 1 2..
python의 데이터 타입 중 하나로, 수학의 집합 개념이라고 볼 수 있다. 데이터에 순서가 없고, 값을 중복해서 쓸 수 없다는 것이 특징이다. ▶ set 생성 s1 = set() print(type(s1)) # s3 = {1, 2, 3, 4, 5} print(type(s3)) # ▶ string -> set char = 'abcdef' sc = set(char) print(sc) # {'b', 'd', 'e', 'a', 'c', 'f'} set은 순서가 없기 때문에 이렇게 문자를 랜덤하게 섞어 버린다. 위치라는 기준 자체가 없기 때문에 index도 사용 불가하다. ▶ 집합으로의 활용 x = {1,2,3,4,5} y = {3,4,5,6,7} #교집합 print(x&y) #{3, 4, 5} ..
Python에서 문자열 format을 할 때는 크게 3가지 방법을 사용한다. 데이터 타입에 따라 선택해서 써야 하니 잘 숙지하고 있어야 한다. %d 정수 (int) %s 문자열 (string) %f 실수 (float) %05d 정수형 숫자 다섯 자리, 남는 부분을 0으로 채움 %.2f 소소수점 둘째 자리의 실수형 숫자 ▶ 사용 예제 name, age = '최다솔', 30 print('나는 %s입니다.' % name, '나이는 %d살입니다.'% age) #나는 최다솔입니다. 나이는 30살입니다. 이렇게 넣고 싶은 변수 타입에 따라 종류를 잘 골라서 넣어줘야 한다. year = 2022 month = 8 day = 23 print('%d-%02d-%02d' %(year, month, ..