코딩 도구(319)
-
백준 2501번 파이썬
백준 2501 : 약수 구하기 문제 https://www.acmicpc.net/problem/2501 2501번: 약수 구하기 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. www.acmicpc.net 답안 코드 : N, K = map(int, input().split()) List = [] for i in range(1, N + 1): if N % i == 0: List.append(i) if len(List) < K: print(0) else: print(List[K - 1]) 백준 / 문제 / 단계별로 풀어보기 / 9단계 약수, 배수와 소수 생각 : print(List[K - 1]) # 인덱스 번호에 맞춰서 K-1번째로 해야함
2024.03.06 -
백준 5086 파이썬
백준 5086 파이썬 : 배수와 약수 문제 https://www.acmicpc.net/problem/5086 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net 답안 코드 : while 1: x, y = map(int, input().split()) if x == 0 and y == 0: break if x y and x % y == 0: print("multiple") else: print("neither") 백준 / 문제 / 단계별로 풀어보기 / 9단계 약수, 배수와 소수..
2024.03.05 -
백준 10989 파이썬 기수정렬 계수정렬
백준 10989 - 수 정렬하기 3 문제 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 답안 코드 : import sys input = sys.stdin.readline N = int(input()) count = [0] * 10001 for i in range(N): count[int(input())] += 1 for i in range(10001): if count[i] != 0: for _ in range(count[i]): print(i) 생각 : # 문..
2024.02.24 -
백준 1517 파이썬 병합정렬 손풀이 플레티넘
백준 1517 - 버블 소트 문제 https://www.acmicpc.net/problem/1517 1517번: 버블 소트 첫째 줄에 N(1 ≤ N ≤ 500,000)이 주어진다. 다음 줄에는 N개의 정수로 A[1], A[2], …, A[N]이 주어진다. 각각의 A[i]는 0 ≤ |A[i]| ≤ 1,000,000,000의 범위에 들어있다. www.acmicpc.net 답안 코드 : import sys input = sys.stdin.readline result = 0 def merge_sort(s, e): global result if e - s < 1: return m = int(s + (e - s) / 2) merge_sort(s, m) # 재귀 함수의 형태로 구현 merge_sort(m + 1, e..
2024.02.22 -
백준 2751 파이썬 병합정렬
백준 2751 - 수 정렬하기 2 문제 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 답안 코드 : import sys input = sys.stdin.readline print = sys.stdout.write def merge_sort(s, e): if e - s < 1: return m = int(s + (e - s) / 2) merge_sort(s, m) merge_sort(m + 1, e) for i in range(s, ..
2024.02.21 -
백준 11004 파이썬 퀵 정렬
백준 11004 - k번째 수 문제 https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 답안 코드 : import sys input = sys.stdin.readline N, K = map(int, input().split()) A = list(map(int, input().split())) def quickSort(S, E, K): global A if S < E: pivot = partition(S, E) if pivot == K: # K번째 수가 pivot이면 더이상 구할 필요 없음 return..
2024.02.20