[BOJ #10815] 숫자 카드 문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 두 숫자 카드에 같은 수가 적혀있는 경우는 없다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 가지고 있는 숫자 카드인지 아닌지를 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이.. 2024. 2. 4. [BOJ #1181] 단어 정렬 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 1. 길 이가 짧은 것부터 2. 길 이가 같으면 사전 순으로 단, 중복된 단어는 하나만 남기고 제거해야 한다. 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. 출력 조건에 따라 정렬하여 단어들을 출력한다. 내가 쓴 코드 1 N = int(input()) # N 개의 단어 # 1. 길이가 짧은 것부터 정렬 # 2. 길이가 같으면 사전 순으로 정렬 # 조건 : 중복 단어 제거 word_lst = [] # 단어 리스트 len_lst = [].. 2024. 2. 2. [SWEA #16268] 풍선팡2 문제종이 꽃가루가 들어있는 풍선이 NxM 크기의 격자판에 붙어있는데, 어떤 풍선을 터뜨리면 상하좌우의 풍선이 추가로 터진다고 한다.다음의 경우 가운데 풍선을 터뜨리면 상하좌우의 풍선이 추가로 1개씩 터지면서 총 5개의 꽃가루가 날리게 된다.NxM개의 풍선에 들어있는 종이 꽃가루 개수A가 주어지면, 한 개의 풍선을 선택해 터뜨렸을 때 날릴 수 있는 꽃가루 수 중 최대값을 출력하는 프로그램을 만드시오.(3 입력첫 줄에 테스트케이스 수 T, 다음 줄부터 테스트케이스 별로 첫 줄에 N과 M, 이후 N줄에 걸쳐 M개씩 풍선에 든 종이 꽃가루 개수가 주어진다. 출력#과 테스트케이스 번호, 빈칸에 이어 종이 꽃가루의 최대 개수를 출력한다. 내가 쓴 코드# 우 하 좌 상di = [0, 1, 0, -1]dj = [1.. 2024. 2. 2. [SWEA #9367] 점점 커지는 당근의 개수 문제영준이는 당근 크기 선별기를 이용해 수확한 순서대로 당근의 크기를 기록하였다. 이 당근 선별기에는 특별한 기능이 있는데 연속으로 당근의 크기가 커진 경우 그 개수를 알려준다. 당근의 크기가 수확한 순서로 주어질 때, 선별기가 알려준 연속으로 커지는 당근의 갯수는 최대 얼마인지 확인하기 위한 프로그램을 만드시오. 연속으로 커지지않는 경우 구간의 최소 길이는 1이다.N개의 당근을 수확하며, 당근의 크기 C는 1부터 10까지의 정수로 정해진다.5입력첫 줄에 테스트케이스의 개수 T, 다음 줄 부터 테스트케이스별로 첫 줄에 당근 개수 N, 다음 줄 당근의 크기 C를 의미하는 N개의 정수가 주어진다.출력#테스트케이스번호와 연속으로 커지는 당근 개수의 최대값을 출력한다. 내가 쓴 코드T = int(input()).. 2024. 2. 2. [SWEA #9386] 연속한 1의 개수 문제N개의 0과 1로 이루어진 수열에서 연속한 1의 개수 중 최대값을 출력하는 프로그램을 만드시오. 입력첫 줄에 테스트케이스 개수 T, 다음 줄부터 테스트케이스별로 첫 줄에 수열의 길이 N, 다음 줄에 N개의 0과1로 구성된 수열이 공백없이 제공된다.1출력#과 테스트케이스 번호, 빈칸에 이어 답을 출력한다. 입력 예3100011001110100000100001100111001111출력 예#1 3#2 1#3 4 내가 쓴 코드T = int(input())for t in range(T): N = int(input()) # N : 수열의 길이 a = list(map(int, input())) # a : N개의 0과 1로 구성된 수열 c = [] .. 2024. 2. 2. [SWEA #1979] 어디에 단어가 들어갈 수 있을까 문제N X N 크기의 단어 퍼즐을 만들려고 한다. 입력으로 단어 퍼즐의 모양이 주어진다.주어진 퍼즐 모양에서 특정 길이 K를 갖는 단어가 들어갈 수 있는 자리의 수를 출력하는 프로그램을 작성하라. 예제N = 5, K = 3 이고, 퍼즐의 모양이 아래 그림과 같이 주어졌을 때길이가 3 인 단어가 들어갈 수 있는 자리는 2 곳(가로 1번, 가로 4번)이 된다. 제약 사항1. N은 5 이상 15 이하의 정수이다. (5 ≤ N ≤ 15)2. K는 2 이상 N 이하의 정수이다. (2 ≤ K ≤ N) 입력입력은 첫 줄에 총 테스트 케이스의 개수 T가 온다.다음 줄부터 각 테스트 케이스가 주어진다.테스트 케이스의 첫 번째 줄에는 단어 퍼즐의 가로, 세로 길이 N 과, 단어의 길이 K 가 주어진다.테스트 케이스의 두 .. 2024. 2. 2. [BOJ #23968] 알고리즘 수업 - 버블 정렬 1 문제 오늘도 서준이는 버블 정렬 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. N개의 서로 다른 양의 정수가 저장된 배열 A가 있다. 버블 정렬로 배열 A를 오름차순 정렬할 경우 K 번째 교환되는 수를 구해서 우리 서준이를 도와주자. 크기가 N인 배열에 대한 버블 정렬 의사 코드는 다음과 같다. bubble_sort(A[1..N]) { # A[1..N]을 오름차순 정렬한다. for last a[i+1]: a[i], a[i+1] = a[i+1], a[i] cnt += 1 if len(res) == 0: res.append(-1) return res result = bubble_sort(a, N, K) for r in range(len(result)): pr.. 2024. 2. 1. 이전 1 ··· 15 16 17 18 다음 728x90 반응형