본문 바로가기
반응형

전체 글252

[백준][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.
[백준][Python] 14697번 방 배정하기 14697번: 방 배정하기 정보 초등학교 6학년 여학생들은 단체로 2박 3일 수학여행을 가기로 했다. 학생들이 묵을 숙소에는 방의 정원(방 안에 있는 침대 수)을 기준으로 세 종류의 방이 있으며, 같은 종류의 방들이 여러 www.acmicpc.net 코드 a,b,c,student = map(int,input().split()) flag = 0 for i in range(student//a + 1): for j in range(student//b + 1): for k in range(student//c + 1): if a*i + b*j + c*k == student: flag = 1 break if flag == 1: print(1) else: print(0) 설명 정원이 a명인 방은 (학생수) // a개.. 2022. 7. 13.
[백준][Python] 1436번 영화감독 숌 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 코드 n = int(input()) num = 666 cnt = 0 while 1: if '666' in str(num): cnt += 1 if cnt == n: print(num) break else: num += 1 설명 666 부터 숫자를 차례대로 1씩 증가시키면서 string 형으로 변환한 후 '666'이 여기에 포함되는지 확인했다. 포함되면 cnt를 1 증가시켰고 cnt 값이 구하려는 n번째 영화이면 해당 숫자를 출력시켜줬다. 2022. 7. 13.
[백준][Python] 10448번 유레카 이론 10448번: 유레카 이론 프로그램은 표준입력을 사용한다. 테스트케이스의 개수는 입력의 첫 번째 줄에 주어진다. 각 테스트케이스는 한 줄에 자연수 K (3 ≤ K ≤ 1,000)가 하나씩 포함되어있는 T개의 라인으로 구성되어 www.acmicpc.net 코드 def check(K): for i in range(0,len(T)): for j in range(i,len(T)): for l in range(j,len(T)): if T[i]+T[j]+T[l] == K: return 1 return 0 T = [] i = 1 while 1: num = i*(i+1)//2 if num < 1000: T.append(num) i+=1 else: break n = int(input()) for _ in range(n).. 2022. 7. 12.
[백준][Python] 3040번 백설 공주와 일곱 난쟁이 3040번: 백설 공주와 일곱 난쟁이 매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다. www.acmicpc.net 코드 n_list = [] total = 0 for _ in range(9): num = int(input()) total += num n_list.append(num) sub = total - 100 flag = 0 for i in range(8): if flag == 1: break for j in range(i+1,9): if n_list[i]+n_list[j] == sub: a = n_list[i] b = n_list[j] n_list.remov.. 2022. 7. 12.
[백준][Python] 4690번 완전 세제곱 4690번: 완전 세제곱 페르마의 마지막 정리는, a, b, c가 0이 아닌 정수이고, n이 2보다 큰 자연수 일 때, an = bn + cn을 만족하는 자연수 a, b, c가 존재하지 않는다는 정리이다. 이 정리는 아직 증명되지 않았다. 하지만, 완 www.acmicpc.net 코드 for a in range(2,101): for b in range(2,101): for c in range(b+1,101): for d in range(c+1,101): if a*a*a == b*b*b+c*c*c+d*d*d: print(f'Cube = {a}, Triple = ({b},{c},{d})') f-string을 처음 써봤다. 문자열 맨 앞에 f를 붙여주고 { } 안에 변수 이름을 넣어주면 된다. 2022. 7. 11.
[백준][Python] 9094번 수학적 호기심 9094번: 수학적 호기심 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, n과 m이 주어진다. 두 수는 0보다 크고, 100보다 작거나 같다. www.acmicpc.net 코드 import sys t = int(input()) for _ in range(t): n,m = map(int,sys.stdin.readline().split()) cnt = 0 for i in range(1,n-1): for j in range(i+1,n): if (i*i+j*j+m)%(i*j) == 0: cnt += 1 print(cnt) b가 a보다 커야 된다는 조건을 못봐서 오류가 났었다.. 2022. 7. 11.
반응형