벡터 내적 : 1차원 x 1차원 가장 기본적인 경우로, 두 개의 input array가 모두 1차원 벡터인 경우입니다. 이 경우, element-wise 방식으로 각 원소를 곱한 값들을 더한 내적 연산을 수행합니다. import numpy as np # 1차원 x 1차원 a = np.array([1, 3, 5]) b = np.array([4, 2, 1]) np.dot(a, b) # 결과 : 15 참고로, 아래처럼 양쪽 array의 원소 개수가 불일치한다면, ValueError가 발생합니다. 고차원의 dot 연산에서도 곱할 element의 원소 개수가 일치하는지 꼭 체크해주세요. # 양쪽 array의 원소 개수 불일치 a = np.array([1, 3, 5]) b = np.array([4, 2, 1, 4]..
배열의 평균을 구할때는 mean 메소드를 사용합니다. 다음 ndarray에는 중간고사의 국어점수(10), 영어점수(20), 기말고사의 국어점수(14), 영어점수(16)이 저장돼 있습니다. score = np.array([ [10, 20], # 중간고사 [14, 16] # 기말고사 ]) 과목별 평균 점수를 출력하세요. [12. 18.] 정답 score.mean(axis=0) axis = 0 은 행방향 평균, axis = 1 은 열방향 평균입니다.
n, k = map(int, input().split()) li = list(range(1,n+1)) ## 1부터 n까지 있는 리스트 ans = [] for i in range(n): ## n번 없애야함 if i == 0: a = k - 1 ## 처음엔 k-1번째 항이 대상이고 else: a += (k - 1) ## 다음부터는 1을 뺀 만큼 간격이 늘어남 ## 숫자가 제거되니 항 길이가 줄기 때문 if a >= len(li): ## a가 li의 길이를 넘어가면 a = a % len(li) ## 길이만큼 나눠준 나머지로 바꿈 ans.append(li[a]) ## 더해놓고 li.remove(li[a]) ## 없애고 print('') break print(ans[j], end=', ') print()
n = int(input()) ## 숫자 입력받고 Tr = False ## bool타입 하나 정의해준다 for i in range(n): ## 최대로 큰 생성자는 숫자와 같으므로 숫자까지 반복 sum = i ## sum 에 i 를 넣고 i = str(i) ## i 는 문자열로 변경 for j in i: ## i 를 순회하면서 sum += int(j) ## 각 자리수를 sum 에 더해줌 if sum == n: ## 그 sum 값이 입력받은 숫자와 같다면 print(i) ## 그것이 생성자(답)이므로 출력 Tr = True ## 답이 나왔으면 Tr을 바꿔주고 break ## for문 중지 if Tr == False: ## Tr이 바뀌지 않고 for문이 끝나서 여기까지 왔으면 print(0) ## 생성자가 없..
n = int(input()) br = False for i in range((n//3) + 1): ## 3, 5 의 최댓값 까지 반복 for j in range((n//5) + 1): ## 5를 먼저 증가되게 만듬 if (3*i) + (5*j) == n: ## 딱 떨어지는 순간 print(i+j) ## 그것이 최소로 필요한 수 br = True ## 답이 나왔다면 br을 바꾸고 break ## 2중반복문 한개 빠져나가기 if br == True: ## br이 바뀌었다면 break ## 반복문 한개 더 빠져나가기(완전종료) if br == False: ## 답이 안나오고 반복문이 끝났다면(br불변) print(-1) ## -1 출력
문자열을 뒤집는다는 의미는 다음과 같이 Original 문자열의 마지막에서 처음 순서로 출력한다는 의미입니다. Original String: Hello, World! Reversed String: !dlroW ,olleH 이 글에서는 문자열을 뒤집는 방법을 소개합니다. 1. slice로 문자열 순서 뒤집기 2. reversed()로 문자열 순서 뒤집기 3. for loop로 문자열 순서 뒤집기 1. slice로 문자열 순서 뒤집기 slice를 이용하면 매우 쉽게 String을 뒤집을 수 있습니다. slice에서 각각의 항목은 [start:stop:step]를 의미합니다. string[::-1]처럼 반대 방향으로 리스트의 데이터를 자를 수 있습니다. string = 'Hello, World!' revers..
n = int(input()) # 주어지는 수 li = list(map(int, input().split())) # 리스트에 담는다 for i in li: # 리스트를 순회하며 count = 0 for j in range(1, i+1): # 1부터 본인수까지 나누며 if i % j == 0 : # 나머지가 0인 수의 개수가 count += 1 if count != 2: # 2개가 아니면(소수가 아니면) n -= 1 # n(주어진 수의 개수)에서 1을 뺀다. print(n) # n(소수의 개수)출력 n이 없어도 되지만 문제에서 주어졌으므로 사용하는 쪽으로 해결했다.
1 . 선언 조건 리스트는 숫자형, 문자열 등 모든 자료를 타입을 보존하여 가질 수 있습니다. (여러 가지 자료형 허용) 반면, 넘파이 어레이는 숫자형과 문자열이 섞이면 모두 문자열로 전환됩니다. (한 가지 자료형만 허용) import numpy as np a = [1, 3, 5, 'a', 'b'] # 1, 3, 5는 숫자형, 'a', 'b'는 문자열 b = np.array([1, 3, 5, 'a', 'b']) # '1', '3', '5', 'a', 'b'의 문자열로 전환 2차원 이상의 배열 구조에서 리스트는 내부 배열에서 원소 개수가 달라도 됩니다. 그러나, 넘파이 어레이는 내부 배열 내 원소 개수가 모두 같아야 합니다. a = [[1], [3, 5], [2, 4, 6]] # 문제 X b = np.ar..
h1, m1, s1 = map(int, input().split(':')) # 시분초를 나눈뒤 h2, m2, s2 = map(int, input().split(':')) t = h2*3600+m2*60+s2 - (h1*3600+m1*60+s1) # 초로 바꿔 계산후 뺀다 if t < 0: # 값이 음수라면 t += 60*60*24 # 24시간어치 초를 더해준다 h = t//3600 # 시간은 3600으로 나눈 몫이고 m = (t%3600)//60 # 분은 그 나머지를 60으로 나눈 몫이고 s = t%60 # 초는 그 나머지이다 print("%02d:%02d:%02d" % (h,m,s))