반응형

파이썬 코테 62

[파이썬, Python] 백준 1475: 방 번호

문제 https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 코드 n = input() idx = list(0 for i in range(9)) for i in range(len(n)): if n[i] != '9': idx[int(n[i])] += 1 else: idx[6] += 1 idx[6] = (idx[6] + 1) // 2 print(max(idx)) 설명 우선 방 번호를 입력받는다. 이후 0부터 8까지의 리스트를 하나 생성해 준다.(9는 6으로 취급) 입력받은 숫자의 수가 9가 아니라면 각 수의 인덱스에 맞는 숫자를 1개 올려주고, 9라면 ..

[파이썬, Python] 백준 1026: 보물

문제 https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 코드 n = int(input()) a_list = sorted(list(map (int, input().split()))) b_list = sorted(list(map (int, input().split())), reverse = True) ans = 0 for i in range(n): ans += a_list[i] * b_list[i] print(ans) 설명 두 리스트의 수를 ..

[파이썬, Python] 백준 1010: 다리 놓기

문제 https://www.acmicpc.net/problem/1010 코드 import math t = int(input()) for i in range(t): r, n = map(int,input().split()) print(math.factorial(n) // (math.factorial(r) * math.factorial(n - r))) 설명 경우의 수를 구하는 문제이다. https://namu.wiki/w/%EA%B2%BD%EC%9A%B0%EC%9D%98%20%EC%88%98 경우의 수 - 나무위키 모든 팀이 2경기를 치른 이후 마지막 경기를 앞둔 시점의 대한민국의 16강에 진출할 수 있는 경우의 수이다. 경우의 수 중 볼드체 표시된 것은 실제 경기 결과이다. 2002년 - 조 1위 16강 진..

[파이썬, Python] 백준 25314: 코딩은 체육과목 입니다

문제 https://www.acmicpc.net/problem/25314 25314번: 코딩은 체육과목 입니다 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ www.acmicpc.net 코드 n = int(input()) for i in range(n//4): print("long", end=" ") print("int") 설명 입력받은 n을 4로 나눈 몫만큼 long을 출력하고 마지막에 int를 출력해 주면 되는 간단한 문제이다.

[파이썬, Python] 백준 14425: 문자열 집합

문제 https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 코드 import sys input = sys.stdin.readline n, m = map(int, input().split()) n_list = set() cnt = 0 for _ in range(n): n_list.add(input()) for _ in range(m): word = input() if word in n_list: cnt += 1 prin..

[파이썬, Python] 백준 11723: 집합

문제 https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 코드 import sys input = sys.stdin.readline m = int(input()) s = set() li = [i for i in range(1, 21)] for _ in range(m): p = input().split() if p[0] == 'add': s.add(int(p[1])) elif p[0] == 'remove': s.discard(int(p[1])) elif p[0] == 'check': i..

[파이썬, Python] 백준 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 코드 import sys input = sys.stdin.readline n,m = map(int,input().split()) tree = list(map(int, input().split())) start, end = 0, max(tree) while start = mid: cut_tree += i - mid if cut_tree >= m: star..

[파이썬, Python] 백준 1920: 수 찾기

문제 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 코드 n = int(input()) a_list = list(map(int, input().split())) a_list = set(a_list) m = int(input()) num_list = list(map(int, input().split())) for i in num_list: if i in a_list: print(1) else: p..

[파이썬, Python] 백준 10866: 덱

문제 https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 코드 import sys input = sys.stdin.readline n = int(input()) deque = [] for _ in range(n): com = input().split() if com[0] == "push_front": deque.insert(0, com[1]) elif com[0] == "push_back": deque.append(com[1]) e..

[파이썬, Python] 백준 1966: 프린터 큐

문제 https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 코드 import sys input = sys.stdin.readline t = int(input()) for _ in range(t): cnt = 0 n,m = map(int,input().split()) paper = list(map(int,input().split())) idx = [i for i in range(len(paper))] target = idx[m] while len(pape..

반응형