Algorithm 💡272 [백준 16987번] 계란으로 계란치기 https://www.acmicpc.net/problem/16987import sysinput = sys.stdin.readline# 각 계란에는 내구도와 무게가 정해져있다# 계란으로 계란을 치게 되면 각 계란의 내구도는 '상대 계란의 무게'만큼 깎이게 된다# 그리고 내구도가 0 이하가 되는 순간 계란은 깨지게 된다# 일렬로 놓여있는 계란에 대해 왼쪽부터 차례로 들어서 한 번씩만 다른 계란을 쳐 최대한 많은 계란을 깨는 문제# 1. 가장 왼쪽의 계란을 든다.# 2. 손에 들고 있는 계란으로 깨지지 않은 다른 계란 중에서 하나를 친다.# (단, 손에 든 계란이 깨졌거나 깨지지 않은 다른 계란이 없으면 치지 않고 넘어간다.)# 3. 가장 최근에 든 계란의 한 칸 오른쪽 계란을 손에 들고 2번 과정을 다시 진.. 2024. 7. 12. [백준 20056번] 마법사 상어와 파이어볼 https://www.acmicpc.net/problem/20056import sysinput = sys.stdin.readline# 마법사 상어가 크기가 N×N인 격자에 파이어볼 M개를 발사# i번 파이어볼의 위치는 (ri, ci), 질량은 mi이고, 방향은 di, 속력은 si# 1번 행은 N번과 연결되어 있고, 1번 열은 N번 열과 연결# 파이어볼의 방향은 어떤 칸과 인접한 8개의 칸의 방향을 의미# 1. 모든 파이어볼이 자신의 방향 di로 속력 si칸 만큼 이동(이동하는 중에는 같은 칸에 여러 개의 파이어볼이 있을 수도 있다.)# 2. 이동이 모두 끝난 뒤, 2개 이상의 파이어볼이 있는 칸에서는 다음과 같은 일이 일어난다. # 2-1. 같은 칸에 있는 파이어볼은 모두 하나로 합쳐진다. #.. 2024. 7. 11. [백준 1043번] 거짓말 https://www.acmicpc.net/problem/1043import sys from itertools import permutations from collections import deque input = sys.stdin.readline # 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 과장해서 말한다 # 당연히 과장해서 이야기하는 것이 훨씬 더 재미있기 때문에, 되도록이면 과장해서 이야기하려고 한다 # 하지만, 지민이는 거짓말쟁이로 알려지기는 싫어한다 # 문제는 몇몇 사람들은 그 이야기의 진실을 안다는 것 # 따라서 이런 사람들이 파티에 왔을 때는, 지민이는 진실을 이야기할 수 밖에 없다 # 당연히, 어떤 사람이 어떤 파티에서는 진실을 듣고, 또다른 파티에서는 과장된 .. 2024. 7. 10. [백준 11004번] K번째 수 https://www.acmicpc.net/problem/11004import sysinput = sys.stdin.readlinen,k = map(int,input().split())numbers = sorted(list(map(int,input().split())))print(numbers[k-1]) 이번 문제는 주어진 n개의 숫자들을 오름차순으로 정렬했을 때 k번째로 오는 숫자를 출력하는 문제이다. 문제 조건이 5*(10**6)인 것을 보고 단순히 파이썬에서 정의된 sorted() 함수를 사용해도 시간초과가 발생하지 않겠다고 판단하여 간단하게 함수를 사용해서 풀이하였다. 2024. 7. 9. [백준 2660번] 회장뽑기 https://www.acmicpc.net/problem/2660import sysfrom collections import dequeinput = sys.stdin.readline# 회원 사이에 서로 모르는 사람도 있지만, 몇 사람을 통하면 모두가 서로 알 수 있다# 각 회원은 다른 회원들과 가까운 정도에 따라 점수를 받게 된다.# 어느 회원이 다른 모든 회원과 친구이면, 이 회원의 점수는 1점# 어느 회원의 점수가 2점이면, 다른 모든 회원이 친구이거나 친구의 친구# 어느 회원의 점수가 3점이면, 다른 모든 회원이 친구이거나, 친구의 친구이거나, 친구의 친구의 친구# 각 회원의 점수를 정할 때 주의할 점은 어떤 두 회원이 친구사이이면서 동시에 친구의 친구사이이면, 이 두사람은 친구사이# 회장의 점수와.. 2024. 7. 9. [프로그래머스 Lv.3] N으로 표현 def solution(N, number): answer = -1 if N == number: return 1 # N을 i+1번 사용했을 때 만들 수 있는 값들 dp = [set() for i in range(9)] for i in range(1,9): dp[i].add(int(str(N)*i)) for i in range(2,9): for j in range(1,i): for term1 in dp[j]: for term2 in dp[i-j]: dp[i].add(term1 + term2) dp[.. 2024. 7. 4. 이전 1 2 3 4 5 6 7 8 ··· 46 다음