백준 / 거짓말 / 1043번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 거짓말 / 1043번 (골드 4단계)문제 사이트: https://www.acmicpc.net/problem/1043 문제 설명 나의 풀이# 사람의 수 N과 파티의 수 Mn, m = map(int, input().split())# 결과값answer = 0knows = list(map(int, input().split()))knows.pop(0)# 파티의 개수 및 참가자party = []# 1번째 원소는 파티 참가자의 사람 수라서 제거for _ in range(m): people = list(map(int, input().split())) people.pop(0) party.append(people)# 길이가 긴 사람부터 확인 왜냐하면 길수록 다른..
백준 / 기타줄 / 1049번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 기타줄 / 1049번 (실버 4단계)문제 사이트: https://www.acmicpc.net/problem/1049 문제 설명 나의 풀이# 입력 처리n, m = map(int, input().split())six_set = 1001 # 패키지 가격의 초기값 (최대값보다 큰 값으로 설정)each = 1001 # 낱개 가격의 초기값 (최대값보다 큰 값으로 설정)# 각 브랜드의 패키지 및 낱개 가격을 입력받으며 최소값 갱신for _ in range(m): s, e = map(int, input().split()) six_set = min(six_set, s) each = min(each, e)# 최소 비용 계산# 1. 전부 패키지로만 구매하..
백준 / 농장 관리 / 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 ..
Programmers / 두 큐 합 같게 만들기 / Python
·
코딩테스트(프로그래머스 & 백준)/프로그래머스-Python
*문제 출처는 프로그래머스에 있습니다.  문제 제목: 두 큐 합 같게 만들기 (2단계)문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  문제 설명   나의 풀이 from collections import dequedef solution(queue1, queue2): answer = 0 repeat = len(queue1) * 2 qu1 = deque(queue1) qu2 = deque(queue2) whi..
Programmers / 쿼드압축 후 개수 세기 / Python
·
코딩테스트(프로그래머스 & 백준)/프로그래머스-Python
*문제 출처는 프로그래머스에 있습니다.  문제 제목: 쿼드압축 후 개수 세기 (2단계)문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  문제 설명   나의 풀이 def solution(arr): answer = [0, 0] rows = len(arr) def qu(x, y, n): first = arr[x][y] for i in range(x, x + n): for j in..
김치바보
'파이썬' 태그의 글 목록 (3 Page)