전체 글


99클럽 코테 스터디 | 비기너 | 20일차https://www.acmicpc.net/problem/4158import syswhile True: N, M = map(int, sys.stdin.readline().strip().split()) if N == 0 and M == 0: break sg_cd_set = set() for _ in range(N): sg_cd = sys.stdin.readline().strip() sg_cd_set.add(sg_cd) common_cd = 0 for _ in range(M): sy_cd = sys.stdin.readline().strip() if sy_cd in sg_c..


99클럽 코테 스터디 | 비기너 | 19일차https://www.acmicpc.net/problem/20551 import sysinput = sys.stdin.readlinen, m = list(map(int, input().rstrip().split()))nums = sorted([int(input().rstrip()) for _ in range(n)])def lower_bound(target): start = 0 end = n - 1 while start target: end = mid - 1 elif nums[mid] == target: if end == mid: break end = mid if num..


99클럽 코테 스터디 | 비기너 | 18일차https://www.acmicpc.net/problem/1590import sysN, T = map(int, sys.stdin.readline().split())bus_info = []for _ in range(N): S, I, C = map(int, sys.stdin.readline().split()) bus_info.append([S, I, C])min_waiting_time_list = []for S, I, C in bus_info: bus_arrival = [] time = S for i in range(C): if time == T: min_waiting_time_list.append(0) ..

99클럽 코테 스터디 | 비기너 | 17일차https://leetcode.com/problems/find-the-distance-value-between-two-arrays/description/class Solution: def findTheDistanceValue(self, arr1: List[int], arr2: List[int], d: int) -> int: count = 0 for num1 in arr1: is_true = True for num2 in arr2: if abs(num1 - num2)

99클럽 코테 스터디 | 비기너 | 16일차https://leetcode.com/problems/intersection-of-two-arrays/description/접근 방법1. list 형태의 nums1과 nums2을 set으로 바꿈2. nums1의 원소들에 대하여 nums2에 존재할 경우 set의 형태인 intersection_num에 추가함 class Solution: def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]: intersection_num = set() nums1_set = sorted(set(nums1)) nums2_set = sorted(set(nums2)) ..


접근 방법문제 9012번과 마찬가지로 stack을 활용하여 문제를 해결한다. 1. stack에는 ( 또는 [만 push로 들어간다.2. ) 또는 ]이 나오면 pop을 통해 stack에서 꺼낸다.3. 만일 pop을 했는데 문자열이 비어있거나 (와 [이 아니라면, 즉 짝이 아니라면 해당 문자열은 균형이 아니다.4. 문자열을 전부 확인했는데 stack에 남은 괄호가 있으면 해당 문자열은 균형이 아니다. import syswhile True: line = sys.stdin.readline().rstrip() if line == ".": break stack = [] is_balance = True for l in line: if l == "(" or l == ..


접근 방법 1 - 괄호 개수를 count하여 비교이 문제의 조건을 구현하기 위해 아래의 두 가지 조건을 충족해야 한다. 1. 괄호를 더하는 과정에서 어느 순간에도 )가 (보다 많아지면 안된다.2. (와 )의 개수는 서로 같아야 한다. 이를 위해 (와 )의 개수를 각각 left, right로 두고 코드를 구현하였다.import sysT = int(input())candidates = []for _ in range(T): candidate = sys.stdin.readline().strip() candidates.append(candidate)for letter in candidates: left = 0 right = 0 for l in letter: if right ..


99클럽 코테 스터디 | 비기너 | 15일차접근 방법1. student라고 하는 dictionary 안에 입력 받은 n명의 학생 이름을 key 값으로 세팅한다.2. n명의 학생들로부터 받은 좋아하는 학생 이름에 대하여 student dict 안에 key가 있으면 value를 하나씩 더한다.3. student dict를 정렬한다.4. student의 key, value를 순서대로 프린트한다. import sysn = sys.stdin.readline()names = sys.stdin.readline().split()# set student dictstudent = {}for name in names: student.setdefault(name, 0)# vote popularity of each stu..


99클럽 코테 스터디 | 비기너 | 14일차https://www.acmicpc.net/problem/29723 import sysN, M, K = map(int, sys.stdin.readline().split())subjects = []for _ in range(N): s, p = sys.stdin.readline().split() subjects.append([s, int(p)])t_list = []for _ in range(K): t = sys.stdin.readline().strip() t_list.append(t)base_score = 0non_recommended = []for s, p in subjects: if s in t_list: base_scor..