Python

· IT/백준
BaekJoon2798 블랙잭 알고리즘은 BruteForce유형의 문제중에서 가장 대표적인 문제라고 볼 수 있다. 위 링크에 문제와 입력 및 출력 예시가 있으니 참고하면 될 것 같다. 먼저 Python 코드다. # python code #BlackJack - BaekJoon - 2798 N, M= input().split() # 3
1 ~ 10 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수는 2520입니다. 그러면 1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수는 얼마입니까? 처음 문제를 보고 당황했지만 생각을 조금 해보니 바로 해결되었다. 풀이 #python code MIN_num = 2 * 3 * 5 * 7 * 11 * 13 * 17 * 19 # 1~ 20 사이의 소수의 곱 breaker = False # 이중 loop 탈출하기 위한 불리안 타입의 변수 while True: for i in range(1,21): if(MIN_num % i ==0 and i == 20): # 소수의 곱이 1 ~ 20 사이의 수로 나뉘면 실행 print(MIN_num) breaker = True break elif( MIN_num..
앞에서부터 읽을 때나 뒤에서부터 읽을 때나 모양이 같은 수를 대칭수(palindrome)라고 부릅니다. 두 자리 수를 곱해 만들 수 있는 대칭수 중 가장 큰 수는 9009 (= 91 × 99) 입니다. 세 자리 수를 곱해 만들 수 있는 가장 큰 대칭수는 얼마입니까? 회문(palindrome)인지 판별할 수 있는지를 물어보는 문제였다. 추가적으로 세자리 수를 곱해 만들 수 있는 가장 큰 대칭수를 구한다는 조건이 있다. 풀이 #python code MAX = 1 for i in range(999,100,-1): for j in range(999,100,-1): list\_pal = str(i \* j) if(list\_pal == list\_pal\[::-1\] and int(list\_pal) > MAX ..
피보나치 수열의 각 항은 바로 앞의 항 두 개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다. 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... 짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까? 풀이 #python code i = 0 NUM = 4000000 list_pi = [ 1, 2] # 최초 피보나치 배열 sum = 0 # 최종 합계 temp = 0 # 현재 i가 가리키고 있는 값 while True: i = i + 1 temp = list_pi[i-1] + list_pi[i] if (temp > NUM ): break else: list_pi.append(temp) for i in list_pi: if ( i % 2 == 0): sum = ..
10보다 작은 자연수 중에서 3 또는 5의 배수는 3, 5, 6, 9 이고, 이것을 모두 더하면 23입니다. 1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면 얼마일까요? 풀이 #python code sum = 0 for i in range(3,1000): if ( i % 3 ==0 or i % 5 == 0): sum = sum + i else: continue print(sum) 결과 233168 다음과 같이 결과가 나왔다. 어려운 부분이 없기 때문에 설명은 생략한다. 문제 : https://euler.synap.co.kr/problem=1
justdo2t
'Python' 태그의 글 목록