본문 바로가기

전체 글

(35)
데이터가공: apply, map, 문자열 다루기 from google.colab import drivedrive.mount('/content/drive')import pandas as pdfile_path = '/content/drive/MyDrive/data/titanic_train.csv'df = pd.read_csv(file_path)실습에 필요한 데이터 파일을 준비해보아요 apply 함수사용자 정의 함수를 데이터에 적용하고 싶을 때 사용.apply(함수이름, axis = 0/1)def pclass_sibsp(x): if x['Pclass'] == 1 and x['SibSp'] == 1: return 1 else: return 0 df1 = df.copy()df1['pclass_sibsp_filter'] = df1..
뒤집은 소수 N개의 자연수가 입력되면 각 자연수를 뒤집은 후, 그 뒤집은 수가 소수이면 그 수를 출력하는 프로그램 작성!ex) 32가 입력된 경우, 이를 뒤집으면 23이고 23은 소수이므로 출력*뒤집는 함수 reverse(x)와 소수인지를 판별하는 함수 isPrime(x)을 반드시 작성 입력예시)532 55 62 3700 250 출력예시)23 73내가 처음에 쓴 코드def reverse(x): x = str(x) return int(x[::-1])def isPrime(x): for i in range(2,x): if x%i == 0: return False return TrueN = int(input())inputLst = list(map(int, input()...
소수 (에라토스테네스의 체) 자연수 N이 입력되면 1부터 N까지의 숫자들 중 소수의 개수를 출력하는 프로그램을 작성!ex) 20입력 시 1부터 20까지의 숫자들 중 소수는 2,3,5,7,11,13,17,19로 총 8개. 입력예시)20 출력예시)8내가 처음 쓴 코드def isPrime(x): for i in range(2,x): if x%i == 0: return False return TrueN = int(input())cnt = 0for i in range(2, N+1): if isPrime(i): cnt += 1print(cnt)모범답안n = int(input())checkLst = [0]*(n+1)cnt = 0for i in range(2,n+1): if che..
자릿수의 합 N개의 자연수가 입력되면 각 자연수의 자릿수의 합을 구하고, 그 합이 최대인 자연수를 출력하는 프로그램 작성.각 자연수의 자릿수의 합을 구하는 함수를 digit_sum(x)로 정의하여 프로그래밍! 입력예시)3125 15232 97 *첫번째 줄은 N, 그 밑은 N개의 자연수들 출력예시)97내가 쓴 코드def digit_sum(x): sum = 0 maxNum = len(x) - 1 x = int(x) for i in range(maxNum, -1, -1): sum += x//10**i x -= (x//10**i)*(10**i) return sumN = int(input())numLst = input().split()sumLst = []for x in nu..
정다면체 두 개의 정 N면체와 정 M면체의 주사위를 던져서 나올 수 있는 눈의 합 중 가장 확률이 높은 숫자를 출력하는 프로그램 작성숫자가 여러개일 경우 오름차순으로 출력 입력예시)4 6출력예시)5 6 7내가 처음에 쓴 코드N, M = map(int, input().split())sumLst = []for i in range(1,N+1): for j in range(1,M+1): sumLst.append(i + j)cntLst = []for x in sumLst: cntLst.append(sumLst.count(x))maxCnt = max(cntLst)result = set()for x in sumLst: if sumLst.count(x) == maxCnt: result...
대표값 N개의 점수가 주어진다. N개의 점수의 평균을 구하고 N개의 숫자 중 평균에 가장 가까운 숫자는 몇번째 인지(*인덱스+1) 구하는 프로그램 작성.만약에 가장 가까운 값이 여러개인 경우, 더 높은 점수를 선택해야함만약에 같은 점수가 여러개 인경우, 번호가 빠른 점수를 선택해야함*평균은 소수첫째자리에서 반올림, 즉 정수로 만들어야함 입력예시)1045 73 66 87 92 67 75 79 75 80 출력예시)74 7내가 쓴 코드N = int(input())lst = list(map(int, input().split()))avg = round(sum(lst)/N)closestDiff = abs(avg - lst[0])closest = lst[0]for i in range(1, len(lst)): if ab..
K번째 큰 수 1~100사이의 자연수가 적힌 N장의 카드 (같은 숫자 있을 수 있음) 중에서 3장을 뽑아 각 카드에 적힌 수를 합한 값을 기록. 기록한 값들 중 K번째로 큰 수를 출력하는 프로그램 (기록한 값들 중에서 같은 값들은 하나로 취급됨) 입력예시)10 313 15 34 23 45 65 33 11 26 42 *첫번째 줄은 N과 K두번째 줄은 N개의 숫자가 적힌 카드  출력예시)143내가 쓴 코드N, K = map(int,input().split())lst = list(map(int,input().split()))sumPreparation = []sumResults = []for i in range(N): for j in range(i+1,N): for k in range(j+1, N): ..
K번째 수 첫번째 줄에 테스트케이스 갯수 T가 주어지고, 각 케이스별로 N개의 숫자로 이루어진 공백구분 숫자열이 주어지면해당 숫자열중에서 s번째부터 e번째 까지의 수를 오름차순 정렬하여K번째로 나타나는 숫자를 출력하는 프로그램 작성 입력예시)26 2 5 35 2 7 3 8 915 3 10 34 15 8 16 6 6 17 3 10 11 18 7 14 7 15 *첫번째 줄은 테스트케이스 갯수 T두번째 줄은 순서대로 N, s, e , K세번째 줄은 N개의 숫자로 이루어진 숫자열 출력예시)#1 7#2 6내가 쓴 코드#테스트케이스 갯수T = int(input())#테스트케이스 수 만큼 반복for i in range(1,T+1): N, s, e, k = map(int, input().split()) lst = li..