본문 바로가기
반응형

알고리즘250

[백준][Python] 1145번 적어도 대부분의 배수 1145번: 적어도 대부분의 배수 첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다. www.acmicpc.net 코드 n_list = list(map(int,input().split())) n = min(n_list) while 1: cnt = 0 for i in range(5): if n % n_list[i] == 0: cnt +=1 if cnt >= 3: break n += 1 print(n) 설명 입력 받은 n_list의 숫자들 중에서 가장 작은 수를 n이라 하고 n 부터 1씩 증가시켜가면서 n_list에 있는 숫자들과 나눈 나머지 값이 0이면 cnt를 증가시켜줬다. cnt 값이 3 이상이면 while문을 빠져나온다. 2022. 7. 15.
[백준][Python] 13410번 거꾸로 구구단 13410번: 거꾸로 구구단 일반적인 구구단에서 가장 큰 수는 마지막 항의 값이 제일 크다. 거꾸로 구구단에서는, 각 항에 구구단의 계산 결과로 나온 값을 뒤집어 저장을 한다. 이렇게 하면 가장 큰 값이 항상 마지막이 www.acmicpc.net 코드 n,k = map(int,input().split()) max_n = 0 for i in range(1,k+1): num = n*i rev_str = int(str(num)[::-1]) max_n = max(max_n,rev_str) print(max_n) 설명 입력받은 수 n에 1부터 k까지의 숫자를 곱한 값을 차례대로 num이라고 했다. num을 string 형으로 바꿔준 후 문자열 슬라이싱을 이용해서 문자열을 뒤집어줬다. [처음:끝:규칙] 순으로 넣으.. 2022. 7. 15.
[백준][Python] 1059번 좋은 구간 1059번: 좋은 구간 [9, 10], [9, 11], [9, 12], [10, 11], [10, 12] www.acmicpc.net 코드 l = int(input()) s = list(map(int,input().split())) n = int(input()) s.sort() if n in s: print(0) else: cnt = 0 min_n = 0 for i in s: if i n: max_n = i break for i in range(min_n+1,max_n-1): for j in range(i+1,max_n): if i = n: cnt += 1 print(cnt) 설명 주어진 집합에서 n보다 작은 수들 중에 가장 큰 수를 min_n이라 하고 n보다 .. 2022. 7. 14.
[백준][Python] 2635번 수 이어가기 2635번: 수 이어가기 첫 번째 수가 주어진다. 이 수는 30,000 보다 같거나 작은 양의 정수이다. www.acmicpc.net 코드 def check(fir,sec): n_list = [fir,sec] while 1: num = fir - sec if num < 0: break n_list.append(num) fir = sec sec = num return n_list fir = int(input()) sec = fir max_list = [] while 1: cnt = check(fir,sec) if len(max_list) < len(cnt): max_list = cnt sec -= 1 if sec < 0: break print(len(max_list)) print(*max_list) 설명 .. 2022. 7. 14.
반응형