분류 전체보기

    [백준 파이썬] # 1764 듣보잡

    Silver IV # 1764 듣보잡 링크 : https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 풀이 N, M = map(int, input().split()) dic = {} for i in range(N+M): name = input() if name in dic: dic[name] += 1 else: dic[name] = 1 li = [] for key, value in dic.items(): if v >= 2: li.append(key)..

    [백준 파이썬] # 1676 팩토리얼 0의 개수

    Silver IV # 1676 팩토리얼 0의 개수 링크 : https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 import math N = int(input()) cnt = 0 f = math.factorial(N) for i in reversed(str(f)): if i == '0': cnt += 1 else: break print(cnt) 후기 math 모듈을 사용해서 팩토리얼을 구현할 수 있다. ex) math.factorial(N) = N! numpy, pandas는 코딩 테스트에서 사용할 수 없게끔 한다고 한다. 그러나..

    [백준 파이썬] # 11050 이항 계수 1

    Bronze I # 11050 이항 계수 1 링크 : https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 풀이 import math N, K = map(int, input().split()) print(math.factorial(N) // (math.factorial(K)*math.factorial(N-K))) 후기 math 모듈을 사용해서 팩토리얼을 구현할 수 있다.

    [백준 파이썬] #1193 분수찾기

    Bronze I # 1193 분수찾기 링크 : https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 풀이 X = int(input()) line = 1 while X > line: X -= line line += 1 if line%2 == 0: a = X b = line-X+1 else: a = line-X+1 b = X print(a, '/', b, sep = '') 후기 Bronze I인데 내게 너무 어려운 문제로 느껴졌다. 문제 이해를 금방 했어도 구현을 너무 어려운 방식으로 시도하는 것 같아 고칠 필요가 있다. 기준을 무엇으로 설정하는지가 중요해보인다. 분자 / 분모 / 분..

    [백준 파이썬] # 1654 랜선 자르기

    Silver III # 1654 랜선 자르기 링크 : https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 풀이 K, N = map(int, input().split()) lan = [int(input()) for i in range(K)] def bs(arr, target): start = 1 # zerodivisionerror 방지, 0 → 1 end = max(lan) while start = target: star..

    [백준 파이썬] # 2805 나무 자르기

    Silver III # 2805 나무 자르기 링크 : https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 풀이 N, M = map(int, input().split()) woods = list(map(int, input().split())) S = 0 E = max(woods) result = 0 def bs(arr, target, start, end): while start mid: total += i-mi..

    [Today I Learn] 2022.02.22

    What I did 알고리즘 집중 훈련기간 TIL 이분 탐색 과정에서 오름차순으로 정렬된 리스트가 필수적이다 → 필요하다. cf. 문제에 따라서 꼭 필요한 것은 아님! 필요여부를 구분할 수 있어야 한다. 일반적으로 전역변수는 지역변수에 비해 무게가 무겁다. 따라서 재귀/반복을 사용할 경우 함수를 정의해서 풀이하는 것이 시간을 줄일 수 있다. 핵심문제 2022.02.22 - [Algorithm Study/Python] - [백준 파이썬] # 1929 소수 구하기 (복습 필요) [백준 파이썬] # 1929 소수 구하기 (복습 필요) Silver II # 1929 소수 구하기 링크 : https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸..

    [백준 파이썬] # 1929 소수 구하기 (복습 필요)

    Silver II # 1929 소수 구하기 링크 : https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 풀이 def isPrime(num): if num == 1: return False else: for i in range(2, int(num**0.5)+1): if num%i == 0: return False return True M, N = map(int, input().split()) for i in range(M, N+1): if isPrime(i): print(i) 후기..

    [백준 파이썬] # 1037 약수

    Silver V # 1037 약수 링크 : https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 풀이 N = int(input()) nums = list(map(int, input().split())) print(min(nums)*max(nums))

    [백준 파이썬] # 5086 배수와 약수

    2022.02.21 Bronze III # 5086 배수와 약수 링크 : https://www.acmicpc.net/problem/5086 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net 풀이 while True: a, b = map(int, input().split()) if a==0 and b==0: break if b%a == 0: print('factor') elif a%b == 0: print('multiple') else: print('neither')