본문 바로가기

수학116

[백준][solved.ac][Bronze 2][Python] 1551번 : 수열의 변화 밑의 링크는 백준에서의 문제 링크입니다. 1551번: 수열의 변화 첫째 줄에 수열의 크기 N과 K가 주어진다. N은 20보다 작거나 같은 자연수이고, K는 0보다 크거나 같고, N-1보다 작거나 같은 자연수이다. 둘째 줄에는 수열이 ‘,’로 구분되어 주어진다. www.acmicpc.net 파이썬 코드와 결과입니다. # 첫째 줄에 수열의 크기 N, 방법 K번을 입력합니다. # N은 20보다 작거나 같은 자연수이고, # K는 0보다 크거나 같고, N-1보다 작거나 같은 자연수입니다. N, K = map(int, input().split(' ')) # 수열을 ,로 구분해서 입력합니다. sequence = list(map(int, input().split(','))) # 다음 수열을 임시로 저장하는 리스트 변수.. 2021. 5. 6.
[백준][solved.ac][Silver 5][Python] 2417번 : 정수 제곱근 밑의 링크는 백준에서의 문제 링크입니다. 2417번: 정수 제곱근 정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오. www.acmicpc.net 파이썬 코드와 결과입니다. # 올림 함수인 ceil을 쓰기 위해 import 합니다. from math import ceil # 첫째 줄에 정수 n을 입력합니다. # 0 = n인 가장 작은 음이 아닌 정수 q를 저장하는 변수를 선언합니다. q = ceil(n ** 0.5) # q를 출력합니다. print(q) 문제를 풀고 나서 카테고리를 확인해보니 이분 탐색을 이용해서 푸는 것을 의도한 문제였습니다. 나중에 이분 탐색을 이용해서 푸는 방법도 구현해보고 포스팅해봐야겠습니다. ※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다. ※ 더 .. 2021. 5. 6.
[백준][solved.ac][Bronze 1][Python] 1977번 : 완전제곱수 밑의 링크는 백준에서의 문제 링크입니다. 1977번: 완전제곱수 M과 N이 주어질 때 M이상 N이하의 자연수 중 완전제곱수인 것을 모두 골라 그 합을 구하고 그 중 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 완 www.acmicpc.net 파이썬 코드와 결과입니다. # 첫째 줄에 M을 입력합니다. M = int(input()) # 둘째 줄에 N을 입력합니다. # M, N은 10000 이하의 자연수이며 # M은 N보다 같거나 작습니다. N = int(input()) # 완전제곱수들을 저장할 리스트 변수를 선언합니다. perfect_square_num = [] # M부터 N까지 반복해봅니다. for number in range(M, N + 1.. 2021. 5. 6.
[백준][solved.ac][Silver 5][Python] 4673번 : 셀프 넘버 밑의 링크는 백준에서의 문제 링크입니다. 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 파이썬 코드와 결과입니다. # 문제의 d(n)을 구현합니다. def d(n): # 매개변수로 받은 n을 문자열로 바꿔줍니다. n = str(n) # 리턴할 결과를 저장하는 변수를 선언합니다. result = 0 # 매개변수로 받은 숫자 형태의 문자열의 각 자리수만큼 반복합니다. for position in n: # 결과 변수에 각 자리 숫자를 더해줍니다. result +=.. 2021. 5. 4.
[백준][solved.ac][Bronze 2][Python] 2587번 : 대표값2 밑의 링크는 백준에서의 문제 링크입니다. 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 가 된다. 평균 www.acmicpc.net 파이썬 코드와 결과입니다. # 입력한 수들을 저장하는 리스트 변수를 선언합니다. numbers = [] # 수 5개를 입력해야하므로 5번 반복합니다. for index in range(5): # 숫자 하나를 입력하고 정수형으로 변환합니다. number = int(input()) # 입력한 숫자를 numbers 리스트 변수에 넣어줍니다. numbers.append(number) # numbers에 있는 숫자.. 2021. 5. 2.
[백준][solved.ac][Bronze 2][Python] 1731번 : 추론 밑의 링크는 백준에서의 문제 링크입니다. 1731번: 추론 등차가 정수인 등차수열 (어떤 수에 차례대로 일정한 수를 더해서 이루어지는 수열) 은 2개의 숫자로 나타낼 수 있다. P는 수열의 첫 번째 수이고, Q는 그 다음수가 되기 위해 바로 전의 수에 더해 www.acmicpc.net 파이썬 코드와 결과입니다. # 첫째 줄에 수열의 길이 N을 입력합니다. # 항상 3 이상 50 이하입니다. N = int(input()) # 입력하는 수열의 각 원소들을 저장하는 리스트 변수를 선언합니다. numbers = [] # 등차수열인지 등비수열인지를 저장하는 변수를 선언합니다. difference_or_ratio = None # 수열의 길이 N만큼 반복합니다. for index in range(N): # 수열의 원.. 2021. 5. 2.
[백준][solved.ac][Bronze 1][Python] 11179번 : 2진수 뒤집기 밑의 링크는 백준에서의 문제 링크입니다. 11179번: 2진수 뒤집기 희연이는 스웨덴으로 이사하여 현재 학교를 다니고 있다. 1학년 교육과정은 중국에서 배웠고, 스웨덴과 중국 두 나라의 교육과정은 완전히 다르다. 희연이는 수학을 좋아한다. 하지만 지금은. www.acmicpc.net 파이썬 코드와 결과입니다. # 정수 N을 입력하고 정수형으로 변환합니다. # 1 2021. 5. 1.
[백준][solved.ac][Bronze 1][Python] 9506번 : 약수들의 합 밑의 링크는 백준에서의 문제 링크입니다. 9506번: 약수들의 합 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. www.acmicpc.net 파이썬 코드와 결과입니다. # -1을 입력할 때까지 반복합니다. while True: # n을 입력합니다. # 2 < n < 100,000 n = int(input()) # 입력한 n이 -1이라면 if n == -1: # 반복문을 탈출하고 종료합니다. break # 입력한 n이 다른 숫자라면 else: # 진약수들을 저장하는 리스트 변수를 선언합니다. proper_divisor = [] # 진약수들의 합을 저장하는.. 2021. 5. 1.
[백준][solved.ac][Bronze 1][Python] 1834번 : 나머지와 몫이 같은 수 밑의 링크는 백준에서의 문제 링크입니다. 1834번: 나머지와 몫이 같은 수 N으로 나누었을 때 나머지와 몫이 같은 모든 자연수의 합을 구하는 프로그램을 작성하시오. 예를 들어 N=3일 때, 나머지와 몫이 모두 같은 자연수는 4와 8 두 개가 있으므로, 그 합은 12이다. www.acmicpc.net 파이썬 코드와 결과입니다. # 첫째 줄에 2,000,000 이하의 자연수 N을 입력합니다. N = int(input()) # N=2일 때, 나머지와 몫이 같은 자연수는 3입니다. # N=3일 때, 나머지와 몫이 같은 자연수는 4, 8입니다. # N=4일 때, 나머지와 몫이 같은 자연수는 5, 10, 15입니다. # N=5일 때, 나머지와 몫이 같은 자연수는 6, 12, 18, 24입니다. # 즉, 나머지와 .. 2021. 4. 30.
[백준][solved.ac][Bronze 2][Python] 10953번 : A+B - 6 밑의 링크는 백준에서의 문제 링크입니다. 10953번: A+B - 6 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 파이썬 코드와 결과입니다. # 첫째 줄에 테스트 케이스의 개수 T를 입력합니다. T = int(input()) # 테스트 케이스의 개수 T만큼 반복합니다. for test_case_index in range(T): # 테스트 케이스 한 줄을 입력합니다. # 입력받은 테스트 케이스를 ,로 구분하고 정수형으로 바꾼 뒤 A, B에 넣어줍니다. A, B = map(int, input().split(',')) # A, B의 합을 출력합니다. print(A + B) ※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다. ※ 더 효율적이고.. 2021. 4. 28.