210723_[백준]_재귀_python 10872번 # 팩토리얼 # 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. # 재귀 : 함수가 자기자신을 호출하는 것. def factorial(n): if n == 0: return 1 return n * factorial(n-1) n = int(input()) print(factorial(n)) 10870번 # 피보나치 수 5 def fibo(n): if n Algorithm/Beakjoon 2021.07.23
210722_[백준]_기본 수학2_python 1085번 # 직사각형에서 탈출 ''' trial_1 : 틀렸습니다 x, y, w, h = map(int, input().split()) d_list = [] if x < w/2: d_list.append(x) else: d_list.append(w-x) if y < h/2: d_list.append(y) else: d_list.append(h-y) print(min(d_list)) ''' x, y, w, h = map(int, input().split()) print(min(x, y, w-x, h-y)) 3009번 # 네 번째 점 x_list = [] y_list = [] for i in range(3): x, y = map(int, input().split()) x_list.append(x) y_li.. Algorithm/Beakjoon 2021.07.22
210721_[백준]_기본 수학2_python 1929번(△) # 소수 구하기 ''' trial_1 : 시간초과 m, n = map(int, input().split()) prime_list = [] for num in range(m,n+1): com_num = 0 for i in range(1, num+1): if num % i == 0: com_num += 1 if com_num > 2: # 2개 초과면 합성수이므로 계산 끛 break if com_num == 2: prime_list.append(num) for i in prime_list: print(i) ''' # 에라토스테네스의 체를 안 공부할 수가 없다 시발 # n개까지 수 중 소수는 n**0.5 까지 존재함 def is_prime(num): if num == 1: return False.. Algorithm/Beakjoon 2021.07.21
210716_[백준]_기본 수학2_python 1978번(△) # 소수 찾기 ''' n이 소수인지 아닌지 판별하는 알고리즘 def is_prime(n): for i in range(2, n): if n % i == 0: return False return True ''' n = int(input()) nums = map(int, input().split()) prime_num = 0 for num in nums: com_num = 0 if num > 1: for i in range(2, num): if num % i == 0: com_num += 1 if com_num == 0: prime_num += 1 print(prime_num) 2581번(△) # 소수 ''' trial_1 : 시간 초과 m = int(input()) n = int(input.. Algorithm/Beakjoon 2021.07.21
210713_[백준]_기본 수학1_python 10250번 (△) # 10250 # ACM 호텔 # W = width, H = height, n = num # room_num : yHxW(W는 두자리수) guest = int(input()) for i in range(guest): H, W, N = map(int, input().split()) x = (N - 1) // H + 1 y = (N - 1) % H + 1 print(y * 100 + x) 2775번 (△) # 부녀회장이 될테야 ''' apt = int(input()) for i in range(apt): k = int(input()) n = int(input()) b_sum = 0 for b in range(1,n + 1): b_sum = b_sum + b print(b_sum * k) .. Algorithm/Beakjoon 2021.07.13
210712_[백준]_기본 수학 1_python 1712번 # 손익분기점 ''' trial_1 : 마이너스 값 나오지 않음, 갯수 1개 부족 A, B, C = map(int, input().split()) n = 1 while A + B * n > C * n : n += 1 print(n) ''' A, B, C = map(int, input().split()) if B >= C: print(-1) else: print(int(A / (C - B) + 1)) 2292번 (△) # 벌집 ''' 1 (+ 6) 6 * 1 2 3 4 5 6 7 (+12) 6 * 2 8 9 10 ... 18 19 (+18) 6 * 3 20 21 22 ... 36, 37 (+24) 6 * 4 38 39 40 ... 60, 61 (+30) 6 * 5 ''' num = int(inp.. Algorithm/Beakjoon 2021.07.12
210712_[백준]_문자열_python 5622번 (△) # 다이얼 dial = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ'] word = input() sec = 0 for i in range(len(word)): for j in dial: if word[i] in j: sec += dial.index(j) + 3 print(sec) 2941번 # 크로아티아 알파벳 croatia = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] word = input() for i in croatia: word = word.replace(i, '*') print(len(word)) 1316번 (△) # 그룹단어체커 num = int(input()) coun.. Algorithm/Beakjoon 2021.07.12
210709_[백준]_문자열_python 11654번 # 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, # 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. a = input() print(ord(a)) 11720번 # N개의 숫자가 공백 없이 쓰여있다. # 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. ''' 입력 : 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 출력 : 입력으로 주어진 숫자 N개의 합을 출력한다. ''' n = input() print(sum(map(int, input()))) 10809번 # 알파벳 소문자로만 이루어진 단어 S가 주어진다. # 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 # 처음 등장하는 위치를, 포.. Algorithm/Beakjoon 2021.07.09
210709_[백준]_함수_python 15596번 # 정수 n개의 합 : def solve(a: list) -> int ''' a: 합을 구해야 하는 정수 n개가 저장되어 있는 리스트 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000) 리턴값: a에 포함되어 있는 정수 n개의 합 (정수) ''' def solve(a): return sum(a) 4673번 (△) # 셀프넘버 def d(n): # 생성자 함수 n = n + sum(map(int, str(n))) return n d_list = [] # 생성자 리스트 for cnt in range(10001): d_list.append(d(cnt)) d_list.sort() for cnt in range(1,10000): # 셀프넘버 출력 if cnt in d_list:.. Algorithm/Beakjoon 2021.07.09
210706_[백준]_1차원 배열_python 10818번 # N개의 정수가 주어진다. # 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. ''' 입력 : 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력 : 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. ''' # 근데 이거 list 갯수 count랑 달라도 에러 안뜸.. count = int(input()) num_list = list(map(int, input().split())) print(min(num_list), max(num_list)) 2562번 # 9개의 서로 다른 자연수.. Algorithm/Beakjoon 2021.07.07