백준 / 영수증 / 25304번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 영수증 / 25304번 (브론즈 4단계)문제 사이트: https://www.acmicpc.net/problem/25304 문제 설명 나의 풀이x = int(input())n = int(input())receipt = []for _ in range(n): a, b = map(int, input().split()) receipt.append(a * b)if x == sum(receipt): print("Yes")else: print("No")※ 알아야 할 것구현문제이다!
백준 / 농장 관리 / 1245번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 농장 관리 / 1245번 (골드 5단계)문제 사이트: https://www.acmicpc.net/problem/1245 문제 설명 나의 풀이from collections import deque# bfs 함수def bfs(mount, visit, start_y, start_x): # 시작 위치의 높이 peak_height = mount[start_y][start_x] # 봉우리 여부를 판단하는 플래그 is_peak = True # bfs 큐 초기화 q = deque([(start_y, start_x)]) visit[start_y][start_x] = True # 상하좌우 및 대각선을 포함한 8방향 이동 di..
백준 / 시간 관리 / 1263번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 시간 관리 / 1263번 (골드 5단계)문제 사이트: https://www.acmicpc.net/problem/1263 문제 설명 나의 풀이# 일의 개수n = int(input())# 일 명단works = [list(map(int, input().split())) for _ in range(n)]works.sort(key = lambda x: x[1], reverse = True)start = works[0][1] - works[0][0]for i in range(1, len(works)): next_start, next_end = works[i] if next_end -1: print(start)else: print(-1)※ 알아야 할..
백준 / 달팽이 / 1913번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 달팽이 / 1913번 (실버 3단계)문제 사이트: https://www.acmicpc.net/problem/1913 문제 설명 나의 풀이# 정수를 입력 받는다.n = int(input())fine_target = int(input())# 돌아갈 수 있는 길이max_turn = 1# 돌아가는 현재 턴current_turn = 0# 달팽이 배열snail = [[0] * n for _ in range(n)]# 컬럼 행렬row = n // 2column = n // 2# 값을 넣을 배열count = 1# 좌표를 저장할 배열result = []# 0일때는 위 / 1일때는 오른쪽 / 2일때는 아래 / 3일때는 왼쪽direction = 0# 초기 값은 직접 넣어주고 시작s..
백준 / 카드2 / 2164번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 카드2 / 2164번 (실버 4단계)문제 사이트: https://www.acmicpc.net/problem/2164 문제 설명 나의 풀이from collections import dequen = int(input())cards = deque([i for i in range(1, n + 1)])if len(cards) > 1: while True: one = cards.popleft() if len(cards) == 1: break two = cards.popleft() if len(cards) == 0: cards.append(two) break ..
백준 / 보물 / 1026번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 보물 / 1026번 (실버 4단계)문제 사이트: https://www.acmicpc.net/problem/1026 문제 설명 나의 풀이n = map(int, input().split())a = list(map(int, input().split()))b = list(map(int, input().split()))result = 0a.sort()b.sort(reverse = True)for i, j in zip(a, b): result += i * jprint(result)※ 알아야 할 것문제 조건은 단, B에 있는 수는 재배열하면 안 된다. 라고 적혀있지만 B에 있는 수를 재배열해도 된다.
백준 / 수들의 합 / 1789번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 수들의 합 / 1789번 (실버 5단계)문제 사이트: https://www.acmicpc.net/problem/1789 문제 설명 나의 풀이# 1789번 수들의 합# 접근법: 작은 수들부터 더해주는 방법이 가장 최대의 값이 출력될 것 같다.# 그리디적으로 0부터 작은 수를 더해주는 것이 가장 효율적인 방법이다.s = int(input())# 문자들의 개수를 셀 변수cnt = 0# 수를 더해줄 변수i = 1# 자연수들의 합이 넘어가면 멈출 변수total = 0while total + i ※ 알아야 할 것https://newkimjiwon.tistory.com/53 [알고리즘] 탐욕(그리디) 알고리즘(Greedy algorithm)탐욕 알고리즘이라고도 불리는 그리..
백준 / 쉬운 최단거리 / 14940번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 쉬운 최단거리 / 14940번 (실버 1단계)문제 사이트: https://www.acmicpc.net/problem/14940 문제 설명 나의 풀이from collections import deque def bfs(tile, visit): q = deque() # 상하좌우로 움직여야함 move = [(0, 1), (0, -1), (1, 0), (-1, 0)] b = False for i in range(len(tile)): for j in range(len(tile[i])): # 2 찾으면 종료 시킬 반복문 if tile[i][j] == 2: q.append((i, j, 1)) tile[i][j] = 0 visit[i][j] = True b = True bre..
백준 / 전쟁 - 땅따먹기 / 1270번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 전쟁 - 땅따먹기 / 1270번 (실버 3단계)문제 사이트: https://www.acmicpc.net/problem/1270 문제 설명 나의 풀이# 땅의 개수n = int(input())answer = []for _ in range(n): win = {} war = list(map(int, input().split())) # 길이를 구할 변수 formation = len(war) # 과반수를 구해야 하므로 짝수와 홀수의 경우를 나눈다. # ex) 7의 과반수는 4이므로 2로 나누고 1를 더해줌 if formation % 2 == 0: formation //= 2 else: formation ..
백준 / 나머지 합 / 10986번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 나머지 합 / 10986번 (골드 3단계)문제 사이트: https://www.acmicpc.net/problem/10986 문제 설명 나의 풀이def solution(arr): answer = 0 # 구간 합을 넣어둘 배열 per = [arr[0]] if arr[0] % m == 0: answer += 1 for i in range(1, len(arr)): if arr[i] % m == 0: answer += 1 per.append(arr[i] + per[i - 1]) per.pop(0) for j in per: if j % m == 0: ..
백준 / 과일 탕후루 / 30804번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 과일 탕후루 / 30804번 (실버 2단계)문제 사이트: https://www.acmicpc.net/problem/30804 문제 설명 나의 풀이def two_pointer(fru, n): left = 0 right = len(fru) - 1 max_total = 0 count_break = False while left 2: left += 1 max_total = max(max_total, total) break total += 1 left_find += 1 ..
백준 / 치즈 / 2638번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 치즈 / 2638번 (골드 3단계)문제 사이트: https://www.acmicpc.net/problem/1225 문제 설명 나의 풀이from collections import dequedef bfs(chee): q = deque() q.append((0, 0)) time = 0 # 이동: 오른쪽 왼쪽 위 아래 move = [(0, 1), (0, -1), (1, 0), (-1, 0)] while True: # 반복 제어 count = True # 방문 탐색 visited = [[0] * m for _ in range(n)] visited[0][0] = 1 # (0,..
김치바보
'코테' 태그의 글 목록 (3 Page)