목록알고리즘 (71)
우당탕탕 개발일지

문제상황 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한히 있다고 가정. 거스름돈이 N원일 때 거슬러줘야 하는 동전의 최소 개수를 구하라. 변수 설정 변수 설명 N 거스름돈 count 거슬러줘야 하는 동전의 최소 개수 k 동전의 종류 수 풀이 전략 거슬러줘야 하는 동전을 최소화하기 위해서는 크기가 큰 500원을 최대로, 그 다음에는 100원을 최대로 ... 사용해야 한다. 일단 N을 500으로 나누었을 때, 몫은 '필요한 500원 동전의 개수'에 해당한다. 그 나머지를 100으로 나누었을 때, 몫은 '필요한 100원 동전의 개수'에 해당한다. ... 이 과정을 10원짜리 동전까지 진행하는 코드는 다음과 같다. N = 1260 count = 0 list = [500, 100, 50..
그리디(Greedy) 알고리즘은 이름에서도 보이다시피, '현재 상황에서 지금 당장 좋은 것만 고르는 방법'을 뜻한다. 그리디는 기업 코테에서 자주 나오는 유형 중 하나이니 관련 문제를 많이 풀어보면서 익히는 게 좋다.. 그 중에서도 '다익스트라 알고리즘'은 그리디 알고리즘이면서도 '암기'가 필요한 알고리즘이다. 이는 그리디 알고리즘 중 특이 케이스이므로 주의!! 그리드 알고리즘 유형은 다양하기 때문에 암기로 되는 게 아니라, 문제를 여러 개 풀어보면서 유형을 익혀야 한다. 그리는 알고리즘은 기준에 따라 좋은 것을 선택하는 알고리즘이므로 문제에서 '가장 큰 순서대로' 등과 같은 조건을 제시해주니 조건을 잘 확인하자! '이것이 취업을 위한 코딩테스트다'에서 실전문제로는 1. 거스름돈 2. 큰 수의 법칙 3...

bool(0) >> False bool(n) >> True # n은 0이 아닌 정수

컴퓨터에서 숫자는 2진수로 저장되는데, 비트시프트 연산을 통해 2^n배를 쉽게 할 수 있다. 예를 들어서 n = 10일 때 n

[기초-출력변환] 10진 정수 입력받아 16진수로 출력하기1(설명)(py) 10진수라고 하니까 뭔가 대단해보였지만, 결국 int()쓰는 건 똑같아(10진수==정수) '%x'로 출력하면 16진수(hexadecimal) 소문자로 출력되고, '%o'로 출력하면 8진수(octal) 문자열로 출력된다. 10진법은 한 자리에 10개(0 1 2 3 4 5 6 7 8 9)의 문자를 사용하고, 16진법은 영문 소문자를 사용하는 경우에 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 a b c d e f)의 문자를 사용한다. 16진수 a는 10진수의 10, b는 11, c는 12 ... 와 같다. [기초-값변환] 영문자 1개 입력받아 10진수로 변환하기(설명)(py) 문자열 10진수는 유니코드를 의미. ord()로 ..