분류 전체보기

    [백준] 1759. 암호 만들기

    📌문제 https://www.acmicpc.net/problem/1759 🎖️난이도 ✔️풀이 from itertools import combinations L, _ = map(int, input().split()) str_list = input().split() result_list = [] def isPossible(comb): if len(set(comb) & set(('a', 'e', 'i', 'o', 'u')))!= 0 and len(set(comb) - set(('a', 'e', 'i', 'o', 'u')))>=2: return True return False for comb in combinations(str_list, L): if isPossible(comb): result_list.appe..

    [프로그래머스] 두 개 뽑아서 더하기

    📌문제 https://programmers.co.kr/learn/courses/30/lessons/68644 🎖️난이도 Level 1 ✔️풀이 # sol1 from itertools import combinations def solution(numbers): arr = set() for comb in combinations(numbers, 2): arr.add(comb[0] + comb[1]) return sorted(list(arr)) solution([2,1,3,4,1]) # [2, 3, 4, 5, 6, 7] # sol2 def solution(numbers): arr = set() for i in range(len(numbers)): for j in range(i+1, len(numbers)): a..

    [백준] 2110. 공유기 설치

    📌문제 https://www.acmicpc.net/problem/2110 🎖️난이도 ✔️풀이 # sol1) sys.stdin.realine(), 이분탐색 => 664ms import sys n, c = map(int, input().split()) x_list = sorted([int(sys.stdin.readline()) for _ in range(n)]) start = 1 # 최소 거리 end = x_list[-1] - x_list[0] # 최대 거리 result = 0 # 인접(최소) 공유기 사이의 최대 거리 # start~end 사이에서 "인접 공유기 사이 거리(mid)" 바꿔가며 이진탐색 # 즉, 변수 : "거리" ! while(start = tmp_x + mid: tmp_x = x_list[i..

    [백준] 1300. K번째 수

    📌문제 https://www.acmicpc.net/problem/1300 🎖️난이도 ✔️풀이 # sol1) 이분탐색 => 1028ms n = int(input()) k = int(input()) start = 1 end = k result = 0 while start = k: result = mid end = mid - 1 else: start = mid + 1 print(result) # sol2) 이분탐색 (check함수로 T/F return) => 396ms! n = int(input()) k = int(input()) def check(mid, kk): cnt = 0 for i in range(1, n+1): tmp = mid // i cnt = cnt + tmp if tmp < n else cn..

    [백준] 10816. 숫자 카드 2

    📌문제 https://www.acmicpc.net/problem/10816 🎖️난이도 ✔️풀이 # sol1) dict(해시), 리스트내포, 삼항연산자 => 652ms n = int(input()) cards = list(input().split()) m = int(input()) nums = list(input().split()) result = [0] * m nCards_dict = {} for card in cards: nCards_dict[card] = nCards_dict[card] + 1 if card in nCards_dict else 1 result = [nCards_dict[nums[i]] if nums[i] in nCards_dict else 0 for i in range(m)] prin..