Tiny Bunny
본문 바로가기
[BOJ #2751] 수 정렬하기 2 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 내가 쓴 코드 1 : 선택정렬 이용 -> 시간초과 import sys; input = sys.stdin.readline N = int(input()) number = [] for n in range(N): number.append(int(input())) for i in range(N-1): minIdx = i for j in range(.. 2024. 2. 13.
[BOJ #15649] N 과 M 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. -> 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. 내가 쓰던 코드 import sys; input = sys.stdin.readline N, M = map(int, input().split()) lst = [] for n in range(1, N+1): for nn in range(1, N+1): lst.ap.. 2024. 2. 13.
[SWEA #1222] 계산기1 문제문자열로 이루어진 계산식이 주어질 때, 이 계산식을 후위 표기식으로 바꾸어 계산하는 프로그램을 작성하시오.예를 들어“3+4+5+6+7”라는 문자열로 된 계산식을 후위 표기식으로 바꾸면 다음과 같다."34+5+6+7+"변환된 식을 계산하면 25를 얻을 수 있다.문자열 계산식을 구성하는 연산자는 + 하나뿐이며 피연산자인 숫자는 0 ~ 9의 정수만 주어진다.입력각 테스트 케이스의 첫 번째 줄에는 문자열 계산식의 길이가 주어진다. 그 다음 줄에 문자열 계산식이 주어진다.총 10개의 테스트 케이스가 주어진다.출력#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 답을 출력한다. 내가 쓴 코드for t in range(10): N = int(input()) cal = list(input().. 2024. 2. 13.
[SWEA #11613] 스택2 - Forth 문제Forth라는 컴퓨터 언어는 스택 연산을 기반으로 하고 있어 후위 표기법을 사용한다. 예를 들어 3+4는 다음과 같이 표기한다.3 4 + . Forth에서는 동작은 다음과 같다.숫자는 스택에 넣는다.연산자를 만나면 스택의 숫자 두 개를 꺼내 더하고 결과를 다시 스택에 넣는다.‘.’은 스택에서 숫자를 꺼내 출력한다. Forth 코드의 연산 결과를 출력하는 프로그램을 만드시오. 만약 형식이 잘못되어 연산이 불가능한 경우 ‘error’를 출력한다. 다음은 Forth 연산의 예이다.코드출력4 2 / .24 3 - .1  입력첫 줄에 테스트 케이스 개수 T가 주어진다.  1≤T≤50다음 줄부터 테스트 케이스의 별로 정수와 연산자가 256자 이내의 연산코드가 주어진다. 피연산자와 연산자는 여백으로 구분되어 있으.. 2024. 2. 13.
[SWEA #2005] 파스칼의 삼각형 문제크기가 N인 파스칼의 삼각형을 만들어야 한다.파스칼의 삼각형이란 아래와 같은 규칙을 따른다.1. 첫 번째 줄은 항상 숫자 1이다.2. 두 번째 줄부터 각 숫자들은 자신의 왼쪽과 오른쪽 위의 숫자의 합으로 구성된다.N이 4일 경우, N을 입력 받아 크기 N인 파스칼의 삼각형을 출력하는 프로그램을 작성하시오.제약 사항파스칼의 삼각형의 크기 N은 1 이상 10 이하의 정수이다. (1 ≤ N ≤ 10) 입력가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.각 테스트 케이스에는 N이 주어진다. 출력각 줄은 '#t'로 시작하고, 다음 줄부터 파스칼의 삼각형을 출력한다.삼각형 각 줄의 처음 숫자가 나오기 전까지의 빈 칸은 생략하고 숫자들 사이에는 한 칸의 빈칸을 출력한다.. 2024. 2. 13.
[BOJ #11727] 2xn 타일링 2 문제 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. 입력 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) 출력 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 내가 쓴 코드 from sys import stdin n = int(stdin.readline()) tile = [0] * 1001 tile[1] = 1 tile[2] = 3 for i in range(3, n+1): # 점화식 사용 tile[i] = tile[i-1] + tile[i-2] * 2 print(tile[n] % 10007) 제출 결과 2024. 2. 13.
[SWEA #12397] 스택1 - 종이 붙이기 문제어린이 알고리즘 교실의 선생님은 경우의 수 놀이를 위해, 그림처럼 가로x세로 길이가 10x20, 20x20인 직사각형 종이를 잔뜩 준비했다.   그리고 교실 바닥에 20xN 크기의 직사각형을 테이프로 표시하고, 이 안에 준비한 종이를 빈틈없이 붙이는 방법을 찾아보려고 한다. N이 30인 경우 다음 그림처럼 종이를 붙일 수 있다.10의 배수인 N이 주어졌을 때, 종이를 붙이는 모든 경우를 찾으려면 테이프로 만든 표시한 영역을 몇 개나 만들어야 되는지 계산하는 프로그램을 만드시오. 직사각형 종이가 모자라는 경우는 없다. 입력다음 줄부터 테스트 케이스 별로 N이 주어진다. 10≤N≤300, N은 10의 배수 출력각 줄마다 "#T" (T는 테스트 케이스 번호)를 출력한 뒤, 답을 출력한다. 내가 쓴 코드T .. 2024. 2. 13.
[BOJ #2562] 최댓값 문제 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. 입력 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다. 출력 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다. 내가 쓴 코드 from sys import stdin cnt = [] num_max = 0 for i in range(9): num = int(stdin.readline()) num_max = max(num_max, num).. 2024. 2. 9.
728x90
반응형