본문 바로가기

👩🏻‍💻 Front-end/👾 Algorithm53

파이썬 7568 - 덩치 (Python) 코드 n = int(input()) a = [] #1 for _ in range(n): x, y = map(int, input().split()) a.append([x, y]) rank = [1 for i in range(n)] #2 for i in range(n): for j in range(n): if a[i][0] < a[j][0] and a[i][1] < a[j][1]: rank[i] += 1 #3 print(*rank) #4 풀이 #1: n명의 덩치 (x, y)를 a라는 list의 원소로 추가해준다. #2: 각 사람의 등수를 1로 초기화해준다. #3: 더 큰 덩치가 있으면 등수를 1 더해준다. #4: 각 사람의 등수를 출력한다. 2022. 5. 17.
백준 2231 - 분해합 (Python) 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 코드 n = int(input()) i = 1 min = n-9*len(str(n)) for.. 2022. 5. 16.
백준 2798 - 블랙잭 (Python) 문제 N장의 카드에 써져 있는 숫자가 주어졌을 때, M을 넘지 않으면서 M에 최대한 가까운 카드 3장의 합을 구해 출력하시오. 입력 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장을 찾을 수 있는 경우만 입력으로 주어진다. 출력 첫째 줄에 M을 넘지 않으면서 M에 최대한 가까운 카드 3장의 합을 출력한다. 첫번째 풀이 (조합 라이브러리 사용) from itertools import combinations n, m = map(int, input().split()) cards = list(map(int, input().split.. 2022. 5. 15.
백준 17478 - 재귀함수가 뭔가요? (Python) 문제 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대학교가 자신과 맞는가에 대한 고민을 항상 해왔다. 중앙대학교와 자신의 길이 맞지 않다고 생각한 JH 교수님은 결국 중앙대학교를 떠나기로 결정하였다. 떠나기 전까지도 제자들을 생각하셨던 JH 교수님은 재귀함수가 무엇인지 물어보는 학생들을 위한 작은 선물로 자동 응답 챗봇을 준비하기로 했다. JH 교수님이 만들 챗봇의 응답을 출력하는 프로그램을 만들어보자. 입력 교수님이 출력을 원하는 재귀 횟수 N(1 ≤ N ≤ 50)이 주어진다. 출력 출력 예시를 보고 재귀 횟수에 따른 챗봇의 응답을 출력한다. 코드 def questio.. 2022. 5. 15.