본문 바로가기

CS97

백준 5585번 거스름돈 문제 풀이 Python 문제 정의 거스름돈 문제 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사고 카운터에서 1000엔 지폐를 한장 냈을 때, 받을 잔돈에 포함된 잔돈의 개수를 구하는 프로그램을 작성하시오. 입력: 물건의 가격 출력: 최소 잔돈의 개수 문제 해석 가지고 있는 6종류의 잔돈을 사용하여, 거스름돈의 개수가 가장 적게 하는 해를 구해야 함. 가장 적게 하기 위해서는 큰 단위의 돈을 최대한으로, 작은 단위의 돈을 최소한으로 전달해야 함. 잔돈을 내림차순으로 정렬한 뒤, 거스름돈을 나눈 몫을 잔돈의 개수에 더하고, 나머지를 새로운 거스름돈으로 할당함. .. 2023. 8. 10.
선형 검색, 이진 검색의 시간 복잡도 Big-O 표기법에 따른 결론부터 말하면, 선형 검색은 O(n), 이진 검색은 O(logn)이다. 선형 검색의 시간 복잡도 따져보기 def linear_search(array, elem): for i, e in enumerate(array):#1 if elem == e:#2 return i#3 return -1#4 #1, 시간 복잡도 O(n), 실행 횟수 n/2 (평균적으로 n/2개에 대해 수행, n에 비례하여 시간복잡도가 O(n)이 됨) #2, 시간 복잡도 O(n), 실행 횟수 n/2 #3, 시간 복잡도 O(1), 실행 횟수 1 #4, 시간 복잡도 O(1), 실행 횟수 1 Big-O 표기법은 최댓값을 채택하므로, 선형 검색의 시간복잡도는 O(n)이다. 이진 검색의 시간 복잡도 따져보기 def binar.. 2023. 8. 10.
파이토치 GPU 인식 확인하기 torch-gpu-test.py 파일을 생성하여 아래 내용을 복붙한다. import torch def main(): print(torch.cuda.is_available()) print(torch.cuda.get_device_name(0)) print(torch.cuda.device_count()) if __name__ == '__main__': main() 파이썬으로 위 프로그램을 실행하였을 때, 디바이스 이름과 개수가 의도한 바와 일치하면 된다. python torch-gpu-test.py True Tesla V100S-PCIE-32GB 2 2023. 7. 28.
python graphviz 설치 오류 오류 메시지 ExecutableNotFound: failed to execute PosixPath('dot'), make sure the Graphviz executables are on your systems' PATH 해결 방법 os 별로 공식 홈페이지에서 권장하는 방법으로 graphviz를 설치한다. 나의 경우 OSX에 설치하므로 homebrew 를 활용하여 설치함 $ brew install graphviz 그러면 오류가 안날 것! 2023. 7. 24.
docker mysql DB 초기화하기 새로운 인스턴스를 초기화하는 방법은 docker hub의 Initializing a fresh instance 파트에서 찾을 수 있다. 해당 파트에는 아래의 내용이 기재되어 있다. Initializing a fresh instance When a container is started for the first time, a new database with the specified name will be created and initialized with the provided configuration variables. Furthermore, it will execute files with extensions .sh, .sql and .sql.gz that are found in /docker-entryp.. 2023. 7. 24.
mysql user 추가하기 (부제: mysql sudo 없이 접근하기) DB 수업은 미치도록 열심히 들었으나, 딱 거기까지. 그 이후로 DB는 select로 데이터 보는 것만 했기 때문에, 유저 추가, 테이블 생성? 기억이 1도 나지 않는다ㅜㅜ 다시 처음부터 시작해보자. 이 글의 주요 내용은 mysql 설치 이후. sudo 권한 없이 접근하기 위하여 user를 추가하는 것이다. 목차 1. sudo 권한으로 DB 접속 먼저 mysql 에 sudo 권한으로 접속한다 (password는 아무 세팅이 되어있지 않으니, 그냥 엔터를 누르면 된다) # terminal $ sudo mysql -uroot -p Enter password: # DB Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connect.. 2023. 7. 21.