파이썬에서 기본으로 제공해 주는 내부 자료구조인 dict가 어떻게 구현되었는지 간단하게 알아보자 * 구체적인 구현은 파이썬 인터프리터, 버전마다 달라질 수 있다. 해시테이블 동작방식 파이썬에서 dict는 해시테이블로 이루어져있다. * 해시테이블에 대해서 잘 모른다면 여기를 참고하는 걸 추천한다. 기본적으로 해시테이블을 구현하고 동작하는 데 필요한 3가지 요소가 있다. hash function 어떤 함수를 이용해서 key 값을 slot 에 분배할 것인가? collision resolution method(충돌 해결 방식) 서로 다른 두 key가 같은 hash(key) 값을 가질 때 발생하는 collision을 어떻게 해결할 것인가? 크게 open addressing 방식과 chaining 방식으로 나눌 수..
for 문과 마찬가지로 파이썬에서 while 문에 else 절이 붙을 수 있다. while 조건문 : 실행문1 else : 실행문2 while 조건문이 거짓이라 실행문1이 수행되지 않을 때, else 절의 실행문2가 수행된다. 여기서 break 문에 의해 while 문을 탈출하게 된다면, else절은 수행되지 않는다. 예시 백준 #2839 설탕배달 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 문제와 풀이는 생략하고 정답 코드를 공개하면 다음과 같다. ..
파이썬으로 사용자의 입력을 받는 방법 - input(), sys.stdin.readline() 및 입력의 공백 처리하는 방법 - split(), strip()에 대해 알아보자. *이 글은 매번 헷갈려서 구글링하는 블로그 주인을 위해 작성되었습니다. 정확하지 않은 정보가 있다면 댓글로 알려주시면 감사하겠습니다. 사용자 입력받기 파이썬에서 사용자의 입력을 받는 방법은 크게 두 가지가 있다. # 방법1. sys.stdin.readline() 사용 import sys n1 = sys.stdin.readline() # 방법2. input() 사용 n2 = input() 두 방식 모두 사용자의 입력을 '문자열'로 받으며, 여기서 기억해야 할 것은 방법1. sys.stdin.readline()이 더 빠르다는 것. 사..