본문 바로가기

전체 글

(90)
마구간 정하기 N개의 마구간이 수직선상에 존재 각 마구간은 x1, x2, x3, ......, xN의 좌표를 가짐좌표가 중복되는 일은 없음  각 마구간에는 한 마리의 말만 넣을 수 있고, 가장 가까운 두 말의 거리가 최대가 되게 말을 마구간에 배치하고자 함 C마리의 말을 N개의 마구간에 배치했을 때,가장 가까운 두 말의 거리가 최대가 되는 그 최대값을 출력하는 프로그램 작성 첫 줄에 자연수 N과 C가 공백을 사이에 두고 주어짐둘째 줄부터 N개의 줄에 걸쳐 마구간의 좌표가 한 줄에 하나씩 주어짐 입력예시)5 312849 출력예시)3 내가 쓴 코드import syssys.stdin = open("input.txt", 'rt')# 해당 거리로 C마리의 말을 배치하는게 가능한지 리턴하는 함수def available(dista..
뮤직비디오 라이브 동영상을 DVD로 만들어 판매 DVD에는 총 N개의 곡이 들어가는데, DVD에 녹화할 때에는 라이브에서의 순서가 그대로 유지 되어야 함 한 노래를 쪼개서 두 개의 DVD에 녹화하면 안됨M개의 DVD에 모든 동영상을 녹화 DVD의 크기(녹화 가능한 길이)를 최소로 M개의 DVD는 모두 같은 크기   첫째 줄에 자연수 N, M 입력 다음 줄에는 라이브에서 부른 순서대로 부른 곡의 길이가 분 단위로(자연수) 입력 DVD의 최소 용량 크기를 출력하는 프로그램 작성 입력예시)9 31 2 3 4 5 6 7 8 9 출력예시)17내가 쓴 코드#첫번째 코드import syssys.stdin = open("input.txt", 'rt')#입력 받기N, M = map(int, input().split())song..
랜선자르기 길이가 제각각인 K개의 랜선이 있다.이 K개의 랜선들을 잘라서 N개의 같은 길이의 랜선으로 만들고자 한다. 예를 들어 300cm 짜리 랜선에서 140cm 짜리 랜선을 두 개 잘라내면 20cm 은 버려야 한다. (이미 자른 랜선은 붙일 수 없다) 랜선을 자를때 손실되는 길이는 없다고 가정하며, 기존의 K개의 랜선으로 N개의 랜선을 만들 수 없는 경우는 없다고 가정 자를 때는 항상 센티미터 단위로 정수 길이만큼 자른다고 가정 N개보다 많이 만드는 것도 N개를 만드는 것에 포함   이때 만들 수 있는 최대 랜선의 길이를 구하는 프로그램을 작성   첫째 줄에는 엘리트학원이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력됨 그 후 K줄에 걸쳐 이미 가지고 있는 각 랜선의 길이가 센티미..
이분검색 임의의 N개의 숫자가 입력으로 주어짐 N개의 수를 오름차순으로 정렬한 다음, N개의 수 중 한 개의 수인 M이 주어지면 이분검색으로 M이 정렬된 상태에서 몇 번째에 있는지 구하는 프로그램을 작성 첫째 줄에 자연수 N과 M이 주어지고두번째 줄에 N개의 수가 주어짐 입력 예시)8 3223 87 65 12 57 32 99 81  3내가 쓴 코드import syssys.stdin = open("input.txt", 'rt')N, M = map(int, input().split())numLst = list(map(int, input().split()))numLst.sort()tmp = numLstwhile len(tmp) > 1: if len(tmp)%2 == 0: med = (tmp[len(t..
격자판 회문수 1부터 9까지의 자연수로 채워진 7*7 격자판이 주어지면 격자판 위에서 가로방향 또는 세로방향으로 길이 5자리 회문수가 몇 개 있는지 구하는 프로그램을 작성* 회문수란 121과 같이 앞에서부터 읽으나 뒤에서부터 읽으나 같은 수 빨간색처럼 구부러진 경우(87178)는 회문수 아님. 입력 예시)2 4 1 5 3 2 63 5 1 8 7 1 78 3 2 7 1 3 86 1 2 3 2 1 1 1 3 1 3 5 3 21 1 2 5 6 5 21 2 2 2 2 1 5출력 예시)3내가 쓴 코드import syssys.stdin = open("input.txt", 'rt')grid = [list(map(int, input().split())) for _ in range(7)]cnt = 0for i in range(7): ..
스도쿠 검사 스도쿠는 9×9 크기의 보드가 있을 때, 각 행과 각 열, 그리고 9 개의 3×3 크기의 보드에 1부터 9까지의 숫자가 중복 없이 나타나도록 보드를 채우면 됨. 각 행에 1부터 9까지의 숫자가 중복 없이 나오 고, 각 열에 1부터 9까지의 숫자가 중복 없이 나오고, 각 3×3짜리 사각형(9개이며, 위에서 색 깔로 표시되었다)에 1부터 9까지의 숫자가 중복 없이 나옴 => 잘 푼 경우  완성된 9×9 크기의 수도쿠가 주어지면 정확하게 풀었으면 “YES", 잘 못 풀었으면 ”NO"를 출력하는 프로그램 작성 입력 예시)1 4 3 6 2 8 5 7 95 7 2 1 3 9 4 6 89 8 6 7 5 4 2 3 13 9 1 5 4 2 7 8 64 6 8 9 1 7 3 5 27 2 5 8 6 3 9 1 42 3 7 ..
봉우리 N*N 각 격자에는 높이가 쓰여있음각 격자판의 숫자 중 자신의 상하좌우 숫자보다 큰 숫자는 봉우리 지역봉우리 지역이 총 몇개 있는 지 출력하는 프로그램 작성*격자의 가장자리는 0으로 초기화 되었다고 가정첫 줄에 N주어지고 두번째 줄부터 격자 주어짐 입력 예시)55 3 7 2 33 7 1 6 17 2 5 3 44 3 6 4 18 7 3 5 2 출력 예시)10내가 쓴 코드import syssys.stdin = open("input.txt", 'rt')#입력받기N = int(input())grid = [list(map(int, input().split())) for _ in range(N)]#격자 가장자리 0으로 초기화for i in range(N): grid[i].insert(0,0) grid[i..
곶감(모래시계) 곶감을 만들기 위해 감을 깎아 마당(그리드)에 말리고 있음마당은 N*N 격자판으로 이루어져 있고 각 격자 단위에는 말리는 감의 수가 들어있음해의 위치에 따라 특정 위치의 감은 잘 마르지 않으므로, 격자의 행을 기준으로 왼쪽, 또는 오른쪽으로 회전시켜 위치를 변경해야함ex)회전 명령 정보가 2 0 3이면 2번째 행을 왼쪽(0)으로 3만큼 아래 그림처럼 회전시키는 명령임회전 명령의 첫 번째 수는 행 번호, 두 번째 수는 방향 (0 = 왼쪽, 1 = 오른쪽) 세 번째 수는 회전하는 격자의 수M개의 회전 명령을 실행하고 난 후, 마당의 모래시계 영역에 있는 감의 총 개수를 출력하는 프로그램 작성 입력 예시)510 13 10 12 1512 39 30 23 1111 25 50 53 1519 27 29 37 2719..