[백준] 11399번 ATM - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 풀이 가장 적은 시간의 통화를 앞세워서 통화를 시켜주면 최솟값을 구할 수 있다. 반복가능객체.sort()를 통해 오름차순으로 정렬해준 뒤 계산을 해주면 된다. # 11399번 ATM # 제일 적은 수가 가장 많이 더해져야한다. N = int(input()) num = list(map(int, input().split())) num.sort() count = 0 answer = 0 for i in num: count += i a..
[백준] 12845번 모두의 마블 - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/12845 12845번: 모두의 마블 영관이는 게임을 좋아한다. 별의별 게임을 다 하지만 그 중에서 제일 좋아하는 게임은 모두의 마블이다. 어김없이 오늘도 영관이는 학교 가는 버스에서 캐릭터 합성 이벤트를 참여했다. 이번 이 www.acmicpc.net 풀이 카드 합성을 통해 레벨만큼 골드를 벌 수 있다. 이 문제의 목표는 합성으로 벌 수 있는 골드의 최대값을 구하는 것이다. 카드 합성의 조건 1, 합성하려면 두 카드는 인접해야만 한다. 2, 업그레이드 된 카드의 레벨은 바뀌지 않는다. 주어진 카드 중 레벨이 제일 높은 카드를 찾아서 그 카드를 카드 A로 두고 나머지를 카드 B로 몰아서 합성해주면 된다. 아래 풀이에는 내림차순으로 리스트를 정렬해서..
[백준] 10610번 30 - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net 풀이 30의 배수는 주어진 수의 각자리수를 더해서 3으로 나누어지면서 끝자리가 무조건 0이어야하는 수여야한다는 정보만 안다면 쉽게 풀 수 있는 문제이다. iterable 자료형.sorted(N, reverse=True) 오름차순으로 정렬될 문자를 내림차순으로 바꾸어준다. 문제에서는 주어진 숫자를 이용해서 만들 수 있는 최대값이다. # 10610번 30 # 30의 배수는 각 자리수를 더해서 3의 배수..
[백준] 14502번 연구소 - 파이썬
·
백준/DFS&BFS
https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 풀이 N: 지도의 세로 크기, M: 지도의 가로 크기, 지도좌표 값(바이러스(2), 벽(1)) 실버문제들 중에서도 흔히 볼 수 있는 바이러스나, 토마토 문제처럼 특정한 값을 가진 칸에 인접한 칸들에게 영향을 주는 문제이다. 나는 이런 문제가 나올 때마다 BFS를 써준다. 다만 이 문제가 껄끄러운 이유는 벽을 어떻게 세워야 최대안전영역이 나오는가이다. 따라서 우리는 벽을 세울 수 있는 모든 경우의 수를 구해서 ..
[백준] 2875번 대회 or 인턴 - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/2875 2875번: 대회 or 인턴 첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N), www.acmicpc.net 풀이 N: 여자 학생 수 M: 남자 학생 수 K: 인턴쉽에 참가해야하는 인원 팀을 만들려면 여자 2명, 남자 1명이 필요하다 대신 팀을 만들고나서 남은 인원들이 K명 이상이어야한다. # 2875번 대회 or 인턴 # N: 여자 학생 수 M: 남자 학생 수 K: 인턴쉽을 가야하는 학생 수 N, M, K = map(int, input().split()) cnt = 0 # 팀의 개수 while N >= 2 and M >= 1: # 한팀을 만들려면 여자는 2명이상 남자는 ..
[백준] 2110번 공유기 설치 - 파이썬
·
백준/다이내믹 프로그래밍
https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 풀이 알고리즘은 이진탐색으로 문제를 풀어야 시간초과가 걸리지않는 문제이다. 목표는 공유기를 설치한 집들 중 가장 가까운 집들의 거리의 최대값을 구하는 문제이다. 우선 가볍게 생각해보자 x좌표가 1인 집에서 간격이 5인 집의 x좌표는 몇일까? 당연히 6이다. 이 당연한 논리를 가지고 문제를 풀어볼 것이다. 간격을 이진탐색으로 선택하여 값의 조건을 ..
[백준]백준 100솔
·
백준
백준100솔을 달성했다. 알고리즘을 공부하다보니 달성하게되었는데 골드까지 무난히 찍고싶다! 현재 1월 9일부터 현재까지 알고리즘 스터디 그룹에 참여해서 학습중이다.
개발자 성현
'백준' 카테고리의 글 목록 (32 Page)