Python80 백준 1789번 - 수들의 합 (파이썬/Python) 문제 서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까? 입력 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. 출력 첫째 줄에 자연수 N의 최댓값을 출력한다. 답안 t = int(input()) sum = 0 cnt = 0 for i in range(1, t+1): sum += i cnt += 1 if sum > t: cnt -= 1 break print(cnt) 후기 sum, cnt를 정의해주고 1~t까지의 범위에서 1씩 증가하는 값을 sum에 넣어주고, cnt값도 1씩 증가시킨다. 만약 sum이 주어진 입력값인 t보다 커지게 된다면, 그 직전값의 cnt를 구해야 하므로 cnt에서 1을 빼주고 반복문에서 탈출한다. 탈출한 cnt값을 출.. 2024. 1. 5. 백준 11653번 - 소인수분해 (파이썬/Python) 문제 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. 출력 N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다. 답안 a = int(input()) i = 2 while a != 1: if a % i == 0: print(i) a = a // i else: i+=1 후기 i를 2로 정의하고, input인 a를 i로 나눈 나머지가 0이 된다면 i를 출력하고 a는 a를 i로 나눈 몫으로 재정의 해준다. 만약 조건에 부합하지 않는다면 i를 1 증가시켜서 다시 반복문에 진입한다. 2024. 1. 4. 백준 10817번 - 세 수 (파이썬/Python) 문제 세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100) 출력 두 번째로 큰 정수를 출력한다. 답안 num_list = list(map(int, input().split())) num_list.sort() print(num_list[1]) 후기 세 수를 배열에 넣어 정렬한 다음 list의 [1]번째 값을 구한다. 제일 작은 값은 list[0]번째이다. 2024. 1. 3. 백준 2935번 - 소음 (파이썬/Python) 문제 수업 시간에 떠드는 두 학생이 있다. 두 학생은 수업에 집중하는 대신에 글로벌 경제 위기에 대해서 토론하고 있었다. 토론이 점점 과열되면서 두 학생은 목소리를 높였고, 결국 선생님은 크게 분노하였다. 이렇게 학생들이 수업 시간에 떠드는 문제는 어떻게 해결해야 할까? 얼마전에 초등학교 선생님으로 취직한 상근이는 이 문제를 수학 문제로 해결한다. 학생들을 진정시키기 위해 칠판에 수학 문제를 써주고, 아이들에게 조용히 이 문제를 풀게 한다. 학생들이 문제를 금방 풀고 다시 떠드는 것을 방지하기 위해서, 숫자를 매우 크게 한다. 아직 초등학교이기 때문에, 학생들은 덧셈과 곱셈만 배웠다. 또, 아직 10의 제곱꼴을 제외한 다른 수는 학교에서 배우지 않았기 때문에, 선생님이 써주는 수는 모두 10의 제곱 형태.. 2024. 1. 2. 이전 1 ··· 16 17 18 19 20 다음