본문 바로가기

백준

[백준알고리즘] 15652번 N과M(4) 파이썬 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 M개를 고른 수열 같은 수를 여러 번 골라도 된다. 고른 수열은 비내림차순이어야 한다. 길이가 K인 수열 A가 A1 ≤ A2 ≤ ... ≤ AK-1 ≤ AK를 만족하면, 비내림차순이라고 한다. 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. +조합 blog.naver.com/PostView.nhn?blogId=honeyeah&logNo=22.. 더보기
[백준알고리즘] 2447번 별찍기 파이썬 문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. *** * * *** 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다. 입력 첫째 줄에 N이 주어진다. N은 3의 거듭제곱이다. 즉 어떤 정수 k에 대해 N=3^k이며, 이때 1 ≤ k < 8이다. 출력 첫째 줄부터 N번째 줄까지 별을 출력한다. 예제 27을 넣어서 진짜 27줄이 출력됨을 확인할 수 있다. 3의 3승이므로 가.. 더보기
[백준알고리즘] 2740번 행렬곱셈 파이썬 예제를 보면 이렇게 곱함을 확인할 수 있다. +행렬 곱셈 모르는 사람을 위해 blog.naver.com/PostView.nhn?blogId=dhkdwnddml&logNo=220277510428&parentCategoryNo=9&categoryNo=&viewDate=&isShowPopularPosts=true&from=search [#3]경제수학, 행렬; 행렬과 행렬의 연산 [2020.03.07 추가](자막을 켜고 보면 이해에 좋습니다.) 행렬은 직사각 모양의 틀 안에 숫자들이 배열된 ... blog.naver.com N,M = map(int,input().split()) matrix1 = [] for _ in range(N): matrix1.append(list(map(int,input().split().. 더보기
[백준알고리즘] 11651번 좌표정렬하기2 파이썬 python 요약 : 그냥 y를 증가하는 순으로 나열한다. 만약 y좌표가 같을 경우 x를 우선순위에 둔다. 처음 짠 코드 import sys num = int(sys.stdin.input()) arr = [] for _ in range(num): arr = list(map(int, sys.stdin.input().split())) arr.sort(key=lambda x:(x[1], x[0])) for i in range(arr): print(i[0], i[1]) 근데 계속 런타임 에러가 뜬다. 이 문제 때문에 sys를 쓴건데 이러니 당황스러웠다. 해결 import sys num = int(sys.stdin.readline()) arr = [] for i in range(num): arr.append(list(map(.. 더보기
[백준알고리즘] 3009번 네번째점 파이썬 예를 들어 이렇게 직사각형의 세 점의 좌표가 주어졌다고 쳐보자. 그럼 주어진 점 중 2개의 y좌표가 같을 것이고, 2개의 x좌표가 같을 것이다. 그럼 주어지지 않은 점의 x와 y좌표는 지금까지 1개 나왔던 x좌표랑 y좌표가 됨을 알 수 있다. x_ = [] y_ = [] for _ in range(3): x, y = map(int, input().split()) x_.append(x) y_.append(y) for i in range(3): if(x_.count(x_[i])==1): x = x_[i] if(y_.count(y_[i])==1): y = y_[i] print(x,y) 그래서 3번 동안 리스트를 구성하고 count를 통해 한번 나온 값이면 그걸 좌표로 선언해주면 된다. 더보기
[백준알고리즘]1966번 프린터큐 python, 파이썬 문제: 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게 된다. 하지만 상근이는 새로운 프린터기 내부 소프트웨어를 개발하였는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄를 하게 된다. 현재 Queue의 가장 앞에 있는 문서의 ‘중요도’를 확인한다. 나머지 문서들 중 현재 문서보다 중요도가 높은 문서가 하나라도 있다면, 이 문서를 인쇄하지 않고 Queue의 가장 뒤에 재배치 한다. 그렇지 않다면 바로 인쇄를 한다. 예를 들어 Queue에 4개의 문서(A B C D)가 있고, 중요도가 2.. 더보기
[백준알고리즘]18258번 큐2 파이썬python 문제: 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입출력: 입력: 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이.. 더보기
[백준알고리즘]10773번 제로 python 문제: 나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다. 재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 현이는 돈을 실수로 잘못 부르는 사고를 치기 일쑤였다. 재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다. 재민이는 이렇게 모든 수를 받아 적은 후 그 수의 합을 알고 싶어 한다. 재민이를 도와주자! 입력과 출력: 입력: 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경우 해당 수를 쓴다. 정수가 "0"일 경우에 지울 수 있는 수.. 더보기

반응형
LIST