프로그래머스 알고리즘 kit 해시 1. 해시- 완주하지 못한 선수def solution(participant, completion): answer = {} for i in participant: answer[i] = answer.get(i,0) + 1 for i in completion: answer[i] = answer.get(i) - 1 for key,value in answer.items(): if value==1: return key 2. 접두사 startswithtext = "Hello, world!"# "Hello"로 시작하는지 확인print(text.startswith("Hello")) # 출력: True# "w..
프로그래머스 알고리즘 고득점 kit 해시 - 해시는 해시 함수와 해시 테이블의 개념을 기반으로 한다.- 언제쓸까? 정보를 빨리 찾고 싶을때, 특히 string을 기반으로 정보를 관리할 때 (대부분 Key가 String), 중복을 확인할 때- 데이터가 너무 길거나 많을때, 한 번 계산한 해시 값을 재활용 할 수 있을 때(매번 데이터를 다 읽지 않아도 됨)* 간혹 서로 다른 데이터가 같은 해시 값을 가지는 충돌이 발생할 수 있어, 중요한 상황에서는 해시와 == 를 함께 사용- get/put/getorDefault 1. 파이썬 내장 함수 hash()- 입력 데이터를 특정 고유값을 가지는 정수(해시값)로 매핑하는 함수- 동일 값은 동일한 해시 값을 반환한다.- 숫자의 경우 데이터 타입은 관계 없다(int, f..
1. 이터레이터- Iterator란?- next 함수 호출 시 계속 그 다음 값을 리턴하는 객체 1) 리스트는 이터레이터일까?a= [1,2,3]next(a) # error- 반복가능하다고해서 이터레이터는 아니다 2) 특징 : for문이나 next로 그 값을 한 번 읽으면 그 값을 다시는 읽을 수 없다- next() 로 읽기ia = iter(a)type(ia) # list_interatornext(ia) # 1next(ia) # 2next(ia) # 3next(ia) # error:StopIteration - for문으로 읽기a = [1,2,3]ia = iter(a)for i in ia: print(i)#1#2#3 for i in ia: print(i) # 출력 없음 3) 왜 사용할까..
1. 클로저란?- 함수 안에 있는 변수를 기억하고 계속 사용하고 싶을때 사용(상태 저장)- 함수안에 변수와 또 다른 함수를 만들어서 사용한다- 바깥 함수의 변수는 안쪽 함수에서만 사용할 수 있어 외부에서 함부로 변경할 수 없다- 코드를 깔끔하게 적을 수 있고, 중요한 데이터나 계산을 숨길 수 있어 안전하다.- 데이터를 저장하거나 버튼 클릭수를 세는데 사용def outer(m): def inner(n): return m*n return innerouter3 = outer(3) # inner가 3을 저장함outer3(4) # 12outer3(5) # 15outer3(6) # 18- nonlocal : 바깥 변수를 수정할때 사용def button(): i = 0 def cou..
1. pickle이란?- 프로그램 상에서 사용하고 있는 데이터를 파일 형태로 저장해줌- pickle은 꼭 바이너리 타입을 지정해줘야함("b") 1) 파일로 저장하기import pickleprofile_file = open("profile.pickle", "wb")profile = {"이름":"박명수", "나이":30, "취미": ["축구", "골프","코딩"]}pickle.dump(profile, profile_file) # profile에 있는 정보를 file에 저장profile_file.close() 2) 저장한 파일 불러오기profile_file2 = open("profile.pickle", "rb")profile2 = pickle.load(profile_file2) print(profile2)# ..
1. 클래스란?- 객체 지향 프로그래밍(OOP)의 기본 단위로, 객체(obejct)를 생성하기 위한 템플릿(template)- 변수(속성)와 함수(메서드)를 모아둔 틀class 계산기: # 생성자 메서드 (초기화) def __init__(self, 속성1, 속성2): self.속성1 = 속성1 self.속성2 = 속성2 # 메서드 def 더하기(self): return self.속성1 + self.속성2 내_계산기 = 계산기(4,2) 친구_계산기 = 계산기(3,5) 2. Class와 Instance- Class(계산기)로 객체(내_계산기)를 만들면 그 "관계"를 말할 때, 내_계산기(객체)는 계산기(클래스)..
1. 정의각 비트를 반전시키는 역할을 합니다. 즉, 0을 1로, 1을 0으로 바꾸는 연산 2. 계산방법예) ~51) 2진수로 변환 :5를 2진수로 변환하면 000001012) 비트반전 : 00000101 비트반전 → 111110103) 10진수로 변환: 11111010 비트반전+1 → 00000101 +1 = 00000111 →6이고, 1로 시작한 음수이므로 -6▶ 어차피 다시 반전해서 +1을하고, 마지막에 -부호를 달아주면 되기 때문에결과적으로는 (십진수+1) 후 부호반전을 해주면 된다. 3. 음수의 2진수 변환(2의 보수: two's complement )1) 양수의 이진수로 변환: 5를 8비트 이진수로 표현하면: 000001012) 00000101의 0과 1 반전: 111110103) 1을 더함..
학습내용예시[1] math 모듈 최대공약수 gcdimport math def solution(denum1, num1, denum2, num2): denum = denum1 * num2 + denum2 * num1 num = num1 * num2 gcd = math.gcd(denum, num) return [denum//gcd, num//gcd] print(solution(9,2,1,3)) # [29,6][2] dict의 value기준으로 내림차순color_dict = {'red':3, 'yellow':5, 'blue':1} color_sorted = sorted(color_dict.items(), key= lambda x: x[1], reverse = True) print(c..
- Total
- Today
- Yesterday
- 프로그래머스
- 실기
- 갓생
- 빅데이터 분석기사
- 스크랩
- 아침
- 오픽
- 뉴스
- 루틴
- Python
- 습관
- 영어회화
- Ai
- 30분
- 티스토리챌린지
- ChatGPT
- 운동
- 다이어트
- opic
- C언어
- 고득점 Kit
- 기초
- llm
- SQL
- 경제
- 오블완
- IH
- 아침운동
- 미라클모닝
- 줄넘기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |