백준 / 동전 2 / 2294번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 동전 2 / 2294번 (골드 5단계)문제 사이트: https://www.acmicpc.net/problem/2294 문제 설명 나의 풀이n, k = map(int, input().split())coin = []for _ in range(n): co = int(input()) coin.append(co)coin.sort(reverse = True)def solution(k, coin): count = 100000 for i in range(len(coin)): current = 0 current_money = k for j in range(i, len(coin)): if coin[j..
백준 / 소수의 연속합 / 1644번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 소수의 연속합 / 1644번 (골드 3단계)문제 사이트: https://www.acmicpc.net/problem/1225 문제 설명 나의 풀이N = int(input())# 에라토스테네스의 체 알고리즘isPrime = [True] * (N + 1)isPrime[0] = isPrime[1] = Falsefor i in range(2, int(N ** 0.5) + 1): if isPrime[i]: for j in range(i * 2, N + 1, i): isPrime[j] = False# 소수 리스트primes = [i for i in range(2, N + 1) if isPrime[i]]count = 0prime_len ..
백준 / 가장 긴 증가하는 부분 수열 2 / 12015번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 가장 긴 증가하는 부분 수열 2 / 12015번 (골드 2단계)문제 사이트: https://www.acmicpc.net/problem/12015 문제 설명 나의 풀이A = int(input())cases = map(int, input().split())sequence = [0]for case in cases: if sequence[-1] ※ 알아야 할 것A = int(input())sequence = map(int, input().split())s = set(sequence)print(len(s))처음에는 이렇게 풀면 되지 않나라고 생각했다.이런 풀이의 주요 문제는 다음과 같다. 순서 정보 손실:set은 요소를 정렬하지 않으며, 요소의 순서를 기억하지 않..
백준 / 알파벳 / 1987번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 알파벳 / 1987번 (골드 4단계)문제 사이트: https://www.acmicpc.net/problem/1987 문제 설명 나의 풀이처음에는 BFS로 풀었다from collections import dequeR, C = map(int, input().split())board = []for _ in range(R): line = list(input()) board.append(line)def bfs(board): q = deque([(0, 0)]) s = set() s.add(board[0][0]) move = [(0, 1), (0, -1), (1, 0), (-1, 0)] steps = 0 while q: ..
백준 / 텀 프로젝트 / 9466번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 텀 프로젝트 / 9466번 (골드 3단계)문제 사이트: https://www.acmicpc.net/problem/9466 문제 설명 나의 풀이def iterative_dfs(start, graph, visited, finished, team): stack = [start] path = [] while stack: student = stack.pop() if not visited[student]: visited[student] = True path.append(student) next_student = graph[student] if not v..
백준 / 더하기 사이클 / 1110번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 더하기 사이클 / 1110번 (브론즈 1단계)문제 사이트: https://www.acmicpc.net/problem/1110 문제 설명 나의 풀이N = int(input())def solution(target): number = target cnt = 0 while True: sum_digits = (target // 10) + (target % 10) new_number = ((target % 10) * 10) + (sum_digits % 10) cnt += 1 if new_number == number: return cnt targ..
백준 / 배 / 1092번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 배 / 1092번 (골드 5단계)문제 사이트: https://www.acmicpc.net/problem/1092 문제 설명 나의 풀이N = int(input())cranes = list(map(int, input().split()))M = int(input())boxes = list(map(int, input().split()))cranes.sort(reverse=True)boxes.sort(reverse=True)cnt = 0if boxes[0] > cranes[0]: cnt = -1else: while boxes: for c in cranes: if boxes and c = b: ..
백준 / 최단경로 / 1753번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 최단경로 / 1753번 (골드 4단계)문제 사이트: https://www.acmicpc.net/problem/1753 문제 설명 나의 풀이 from collections import dequeINF = 1e9V, E = map(int, input().split())S = int(input())graph = {i : [] for i in range(1, V + 1)}for _ in range(E): v, e, dist = map(int, input().split()) graph[v].append((e, dist))def dijsktra(graph, Start): q = deque([(Start, 0)]) visited = [INF] * (l..
백준 / 단지번호붙이기 / 2667번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 단지번호붙이기 / 2667번 (실버 1단계)문제 사이트: https://www.acmicpc.net/problem/2667  문제 설명나의 풀이from collections import dequeN = int(input())grid = []for _ in range(N): line = list(map(int, input().strip())) grid.append(line)visited = [[False] * N for _ in range(N)]def bfs(grid, visited, start): q = deque([start]) y, x = start visited[y][x] = True cnt = 1 move = [(0..
백준 / 정수 삼각형 / 1932번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 정수 삼각형 / 1932번 (실버 1단계)문제 사이트: https://www.acmicpc.net/problem/1932  문제 설명  나의 풀이 def solution(tr): for i in range(1, len(tr)): for j in range(len(tr[i])): if j == 0: tr[i][j] += tr[i - 1][0] elif j == len(tr[i]) - 1: tr[i][j] += tr[i - 1][-1] else: tr[i][j] += max(tr[i - 1][j - 1], t..
백준 / 숨바꼭질 / 1697번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 숨바꼭질 / 1697번 (실버 1단계)문제 사이트: https://www.acmicpc.net/problem/1697  문제 설명   나의 풀이 def bfs(n, k): s = set() # 중복되는 값을 제거 해주는 역할을 가지고 있다. result = 0 # 카운트하는 방법을 사용할 것이다. s.add(n) # 초기 값을 부여한다. while s: new_s = set() for i in s: if k in s: return result if i + 1 0: new_s.add(i - 1) if i..
백준 / 미로 탐색 / 2178번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 미로 탐색 / 2178번 (실버 1단계)문제 사이트: https://www.acmicpc.net/problem/2178  문제 설명  나의 풀이 def dfs(graph, visited, count, start, target): n, m = start a, b = target visited[n][m] = True if n == (a - 1) and m == (b - 1): return count directions = [(1, 0), (-1, 0), (0, 1), (0, -1)] for dn, dm in directions: new_n, new_m = n + dn, m + dm if ..
김치바보
'코딩테스트(프로그래머스 & 백준)' 카테고리의 글 목록 (7 Page)