본문 바로가기

Baekjoon175

[백준 17392번] 우울한 방학 17392번: 우울한 방학 1일, 5일, 8일에 약속을 순서대로 배치하면, 4일과 10일에 각각 1만큼의 우울함을 느끼게 되어, 총 2만큼의 우울함을 느끼게 된다. 이보다 덜 우울함을 느끼게 만드는 방법은 존재하지 않는다. www.acmicpc.net n, m = map(int,input().split()) h = list(map(int,input().split())) def getUnhappy(num): total = 0 for i in range(1,num+1): total += i**2 return total happy = sum(h) + len(h) unhappy = m - happy area = [0] * (n+1) index = 0 for i in range(unhappy): area[inde.. 2023. 9. 29.
[백준 1469번] 숌 사이 수열 1469번: 숌 사이 수열 첫째 줄에 X의 크기 N이 주어진다. 둘째 줄에 X에 들어가는 수가 빈칸을 사이에 두고 주어진다. X의 크기는 8보다 작거나 같은 자연수이다. X의 원소는 0보다 크거나 같고 16보다 작거나 같은 정수 www.acmicpc.net import sys sys.setrecursionlimit(10**7) n = int(input()) # X의 크기는 8보다 작거나 같은 자연수 # X의 원소는 0보다 크거나 같고 16보다 작거나 같은 정수이다. # 사전 순으로 가장 빠른 것 x = sorted(list(map(int,input().split()))) s = [-1 for _ in range(n*2)] visited = [False for _ in range(17)] def dfs(i.. 2023. 9. 29.
[백준 25421번] 조건에 맞는 정수의 개수 25421번: 조건에 맞는 정수의 개수 2개의 자릿수를 갖고 첫 번째 자리의 숫자와 두 번째 자리의 숫자의 차이가 2보다 작거나 같은 양의 정수 11, 12, 13, 21, 22, 23, 24, 31, 32, ... , 97, 98, 99가 A에 해당된다. 따라서 정답은 39이다. www.acmicpc.net n = int(input()) data = [1 for x in range(1,10)] for i in range(n-1): temp = [] for j in range(9): value = 0 for k in range(j-2,j+3): if 0 2023. 9. 28.
[백준 17140번] 이차원 배열과 연산 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net r,c,k = map(int,input().split()) arr = [list(map(int,input().split())) for _ in range(3)] answer = 0 def transpose(arr): return list(zip(*arr)) def calculate_row(index): row = arr[index] temp_dict = dict() sorted_row = [] for i in row: if i == 0: continu.. 2023. 9. 19.
[백준 2668번] 숫자고르기 2668번: 숫자고르기 세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절 www.acmicpc.net n = int(input()) graph = [[] for _ in range(n+1)] visited = [False]*(n+1) temp = [] answer = set() for i in range(1,n+1): graph[int(input())].append(i) def dfs(index): global answer for i in graph[index]: if visited[i]: answer |= set(temp) return visite.. 2023. 9. 16.
[백준 9663번] N-Queen 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 이번 문제는 크기가 N x N 체스판 위에 퀸 N개를 서로 공격할 수 없도록 배치하는 경우의 수를 구하는 문제이다. 본인은 체스를 좋아하지 않아서 룰을 잘 몰랐는데, 퀸은 상하좌우와 대각선에 있는 말을 공격할 수 있기 때문에 모든 말은 서로 상하좌우와 대각선에 배치할 수 없다. 일단 이 문제는 모든 경우의 수를 구하기 위해서 완전 탐색 기법 중 하나인 DFS를 사용하게 되면 14^14(1 2023. 9. 12.