백준17 백준 실버3 1966. 프린터 큐 (python) 프린터 큐 풀이 큐의 방식에 대해서 고려한다면 금방 풀 수 있을 것 같다 생각했고, 예상은 맞았다. 아래처럼 우선 Q를 while문으로 Q값이 있을 때 반복했다. 그리고 Q [0]가 최댓값이면 출력하고 아니면 마지막으로 옮기는 작업을 하는 과정에서 M과 출력 순서인 number를 건드렸다. import sys # 테스트 케이스 수 T = int(sys.stdin.readline()) for i in range(T): # 문서갯수 N, 궁금한 문서는 몇 번째? M N, M = map(int, sys.stdin.readline().split()) # Q리스트 Q = list(map(int, sys.stdin.readline().split())) # Q가 있을 때만 작동 number = 0 while Q: #.. 2024. 2. 20. 백준 실버4 18110.solved.ac (python) solved.ac 풀이 풀었는데 계속해서 무슨 문제가 있어서 틀렸습니다. 가 나오는지 몰라서 이것저것 해보다가 2 1 4 를 넣어보니 3이 아닌 2가 나오는 것을 보고, 아... round에서 문제가 생겼구나 싶어서 round함수를 내 입맛에 맞게 바꿔주고 아래처럼 풀었다. # 어떤 문제의 난이도는 그 문제를 푼 사람들이 제출한 난이도 의견을 바탕으로 결정 # 아직 아무의견이 없다면 문제의 난이도는 0으로 결정 # 의견이 하나 이상 있다면, 문제의 난이도는 모든 사람의 난이도 의견의 30% 절사평균으로 결정 # 절사평균 가장 큰 값과 가장 작은 값들을 제외하고 평균 # 고로 30% 절사 평균은 위에서 15%, 아래에서 15%를 제외하고 평균을 계산 # 제외 해야할 사람이 소수일경우 반올림한다. # 평균도.. 2024. 2. 14. 백준 실버5 1676.팩토리얼 0의 개수 성공 (python) 팩토리얼 0의 개수 성공 풀이 문제가 이해가 되진 않았지만, 우선 팩토리얼값이 필요하니 팩토리얼 구하는 함수를 만들어주고 이를 이용해 줬다. def factorial(a): if a == 0: return 1 else: return a * factorial(a-1) 그러고 나서 대입해 보니 무슨 말인지 이해가 되었다. 10!이라면 이 값의 뒤에서 0이 몇 개 있는지 세는 문제이다. 3628800이 10!인데 뒤에 0이 2개 달렸다. 이를 구해주기만 하면 된다. # N!에서 뒤에서부터 처음 0이 아닌 숫작 ㅏ나올 때까지 0의 갯수를 구하는 프로그램을 작성하시오. # N이 주어짐 def factorial(a): if a == 0: return 1 else: return a * factorial(a-1) N .. 2024. 2. 14. 백준 브론즈3 2490. 윷놀이 (python) 윷놀이 풀이 윷놀이 도개걸윷모를 ABCDE로 표현해야 한다. 배와 등의 개수에 따라서 다른 것을 인지하고, 이를 이용하면 된다. 배: 0, 등:1로 표현되었다. 1. 1의 개수에 따른 dictionary작성 2. sum()을 이용한 1의 개수 확인 3. 출력 한번 switch_case를 python에서 사용할 수는 없을까 해서 아래처럼 작성이라도 해봤다. # 등1 걸 C # 등2 개 B # 등3 도 A # 등4 모 E # 등0 윷 D def switch_case(value): return { 1: 'C', 2: 'B', 3: 'A', 4: 'E', }.get(value, 'D') for _ in range(3): yoot = list(map(int, input().split())) yootName = '.. 2024. 1. 31. 백준 실버1 1149. RGB거리 (python) RGB거리 풀이 양옆의 집의 색이 모두 달라야 한다는 조건이다. 빨강, 초록, 파랑 중 하나로 칠해야하는데, 이 3가지를 이용해 모든 집을 가장 최소비용이 나오도록 칠해야 하는 문제다. 아래처럼 풀었다. 집의 갯수 N과 집마다 칠 할 때 비용을 입력받음. 각 집을 칠하는 비용 최솟값을 저장할 배열을 생성. 맨 처음 집을 칠할 때 비용을 미리 작성 각 집을 돌면서 지금까지의 비용을 산정, 이때, 빨강, 초록, 파랑의 색을 고르되 이전 집과의 색이 다르도록 비용을 산정 모든 집이 산정이 다 되었을 경우, 마지막으로 가장 적은 비용 산정이 된 것을 고르고 출력 import sys def solve(N, costs): # 각 집을 칠하는 비용의 최솟값을 저장할 dp 배열 생성 dp = [[0] * 3 for _.. 2024. 1. 31. 이전 1 2 3 다음