백준 / 최소비용 구하기 / 1916번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다.문제 제목: 최소비용 구하기 / 1916번 (골드 5단계)문제 사이트: https://www.acmicpc.net/problem/1916  문제 설명   나의 풀이 1번 코드from collections import dequeINF = 1e9# 다익스트라 알고리즘def usg(graph, start, target): q = deque() q.append((start, 0)) d = [INF] * (len(graph) + 1) d[start] = 0 while q: current, distance = q.popleft() if (d[current]  문제의 조건은 양방향이 아닌 단방향만 고려했을 경우를 생각하고 풀어야하지만 ..
백준 / 암호 만들기 / 1759번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 암호 만들기 / 1759번 (골드 5단계)문제 사이트: https://www.acmicpc.net/problem/1759  문제 설명   나의 풀이 import itertoolsdef find_password(password): vowels = {'a', 'e', 'i', 'o', 'u'} # 모음 num_vowels = len([char for char in password if char in vowels]) # 모음 개수 확인 num_consonants = len(password) - num_vowels # 자음 개수 확인 return num_vowels >= 1 and num_consonants >= 2 # 모음 1개 이상이면..
백준 / 줄어드는 수 / 1174번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 줄어드는 수 / 1174번 (골드 5단계)문제 사이트: https://www.acmicpc.net/problem/1174  문제 설명   나의 풀이 from itertools import combinationsdef get_decreasing_number(N): decreasing_numbers = [] # 1자리부터 10자리까지의 모든 줄어드는 수 생성 for length in range(1, 11): for comb in combinations(range(10), length): num_str = ''.join(map(str, sorted(comb, reverse=True))) decrea..
백준 / 노드사이의 거리 / 1240번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 노드사이의 거리 / 1240번 (골드 5단계)문제 사이트: https://www.acmicpc.net/problem/1240  문제 설명   나의 풀이 from collections import dequeINF = 1e8def dijkstra(start, end): visited = [INF] * (N + 1) q = deque([(start, 0)]) # 이 부분을 수정합니다 while q: current, distance = q.popleft() if (visited[current] ※ 알아야 할 것 다익스트라 알고리즘을 알고 있으면 쉽게 풀 수 있는 문제다!https://newkimjiwon.tistory.com..
백준 / Contact / 1013번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: Contact / 1013번 (골드 5단계)문제 사이트: https://www.acmicpc.net/problem/1225  문제 설명   나의 풀이 import redef solution(w): c = re.compile(r'(100+1+|01)+') return bool(c.fullmatch(w.strip()))N = int(input())result = []for i in range(N): word = input() result.append(word)for i in result: if solution(i): print("YES") else: print("NO")※ 알아야 할 것 정규표현식을 사용하면..
백준 / 곱셈 / 1629번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 곱셈 / 1629번 (실버 1단계)문제 사이트: https://www.acmicpc.net/problem/1629  문제 설명   나의 풀이 def solution(a, b, c): if b == 0: return 1 elif b == 1: return a % c else: temp = solution(a, b // 2, c) temp = (temp * temp) % c if b % 2 == 0: return temp else: return (temp * a) % cA, B, C = map(int, input().split())pr..
백준 / 팩토리얼5 / 1564번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 팩토리얼5 / 1225번 (실버 1단계)문제 사이트: https://www.acmicpc.net/problem/1564  문제 설명   나의 풀이 N = int(input())def factorial(n): # 동적 계획법을 위한 테이블 초기화 dp = [1] * (n + 1) # 팩토리얼 계산, 뒤의 0을 줄이기 위해 각 단계에서 10의 배수를 줄여 나간다. for i in range(2, n + 1): dp[i] = dp[i - 1] * i while dp[i] % 10 == 0: dp[i] //= 10 dp[i] %= 100000000000000000 # 뒤 0이 아닌..
백준 / 효율적인 해킹 / 1325번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 효율적인 해킹 / 1325번 (실버 1단계)문제 사이트: https://www.acmicpc.net/problem/1325   문제 설명   나의 풀이 from collections import deque, defaultdict# 입력 처리N, M = map(int, input().split())# 그래프를 인접 리스트로 표현graph = defaultdict(list)for _ in range(M):    A, B = map(int, input().split())    graph[B].append(A)  # A가 B를 신뢰한다는 것을 B에서 A로 간선으로 표현def bfs(start):    visited = [False] * (N + 1)    q = de..
백준 / DFS와 BFS / 1260번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: DFS와 BFS / 1260번 (실버 2단계)문제 사이트: https://www.acmicpc.net/problem/1260  문제 설명   나의 풀이 from collections import dequedef bfs(graph, visit, start): q = deque([start]) visit[start] = True while q: x = q.popleft() print(x, end = " ") for i in graph[x]: if not visit[i]: q.append(i) visit[i] = Truedef dfs(gra..
백준 / 문자열 교환 / 1522번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 문자열 교환 / 1522번 (실버 1단계)문제 사이트: https://www.acmicpc.net/problem/1522  문제 설명   나의 풀이 S = input()def min_a(word):    # 처음 a의 개수    total_a = word.count('a')    # 원형이라고 했으니깐 두 문자열을 붙여준다.    ac = word + word    # 원형 문자열에서 a의 개수를 검사    current_a = ac[:total_a].count('a')    max_a = current_a # a가 가장 많을 때랑 비교할 변수다    for i in range(1, len(word)):        if ac[i - 1] == 'a':    ..
백준 / 국회의원 선거 / 1417번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 국회의원 선거 / 1417번 (실버 5단계)문제 사이트: https://www.acmicpc.net/problem/1417  문제 설명   나의 풀이 N = int(input())som = int(input())lis = []count = 0for _ in range(N - 1): person = int(input()) lis.append(person)lis.sort(reverse = True)if N == 1: print(0)else: while lis[0] >= som: som += 1 lis[0] -= 1 count += 1 lis.sort(reverse = True) print..
백준 / 방 번호 / 1475번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 방 번호 / 1475번 (실버 5단계)문제 사이트: https://www.acmicpc.net/problem/1475  문제 설명   나의 풀이 N = int(input())dic = {i : 0 for i in range(10)}N = list(str(N))for i in N:    if i == '6' or i == '9':        dic[6] += 1    else:        dic[int(i)] += 1if dic[6] % 2 != 0:    dic[6] = dic[6] // 2 + 1else:    dic[6] = dic[6] // 2print(max(dic.values()))※ 알아야 할 것 딕셔너리에서 value의 최대 값을 찾고 싶으면 ..
김치바보
'코딩테스트(프로그래머스 & 백준)/백준-Python' 카테고리의 글 목록 (8 Page)