일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 정보보안
- nurisec
- HTML
- MITRE ATT&CK
- 연구모임
- Service
- 화학물질불법유통온라인감시단
- 불법유통근절
- 프로젝트
- suninatas
- 여행
- Los
- 파이썬
- UKPT level
- 화학물질
- 불법유통
- 국가정보원
- codeup
- webhacking
- 12기
- UKPT
- 국가기록원
- 도구모음
- 웹 해킹 입문
- 경기팀
- 화학물질안전원
- 기타정보
- 국정원
- PHP
- 대외활동
- Today
- Total
목록전체 글 (304)
agencies
num = int(input()) x = map(int,input().split()) for i in x: # 값이 1이면 1 반환 if i == 1: t = 1 # 값이 0이면 또는 짝수가 아니면 0 반환 elif i == 0 or i %2 != 0 : t= 0 else: while True: i = i // 2 # tmp가 다 나누어 떨어지거나 1이 되면 1 반환 if i == 0 or i == 1: t = 1 break # tmp가 홀수가 되면 0 반환 if i %2 != 0: t = 0 break print("%d"%t,end=" ") 위 코드는 메모리 초과를 야기합니다. num = int(input()) x = map(int, input().split()) for i in x: # 주어진 숫자를..
문제 접근 방법 - 2차원 배열 생성 (6묶음으로 입력값만큼 추가) - 값 4개를 입력받고 입력받은 값을 배열 눈 숫자에 위치한 곳에 +1 - 4개의 눈 중에서 6이 2번만 나오는 경우는 무조건 1600원 반환 num = int(input()) # 2차원 배열 생성 play = [[0 for i in range(6)] for j in range(num)] # 배열에 값 넣기 for i in range(num): ary = map(int,input().split()) ary = list(ary) for j in ary: play[i][j-1] += 1 result = 0 for i in range(num): jj = 5 for j in range(6): if play[i][j] == 4: tmp = 500..
문제 접근 방식 - 320과 같이 값이 주어졌을때 a[::-1]를 사용하면 023으로 출력되므로 int로 형 변환 시도 - a의 길이만큼 반복하여 배열 요소 하나씩 int형으로 변환 후 누적 합 계산 a = input() # 앞에 0 붙는 것 제거 print(int(a[::-1])) s = 0 # 각 자리수 합하기 for i in range(len(a)): s += int(a[i]) print(s)
※ a>=b a+b=n 과 a-b=m을 토대로 두 식을 더하면 2a = n+m이 된다. 따라서 a를 구할 수 있다. 2b = n-m이 되므로 따라서 b를 구할 수 있다. n = int(input()) m = int(input()) # 두 수의 합과 차를 이용하여 바로 a와 b를 계산합니다. a = (n + m) // 2 b = n - a print(a) print(b)
문제 접근 방법 - 중첩 반복문을 사용한다. - 순서대로 정렬 num = map(int,input().split()) num = list(num) # 순서대로 정렬 for i in range(5): for j in range(5): if num[i] > num[j]: t = num[j] num[j] = num[i] num[i] = t # 중앙값 출력 print(num[2])
문제 접근 방법 - 제일 큰 수 구하기 - 큰 수까지 반복하며 1을 입력했을때에는 1이 나오도록 함 - 최대공약수는 모든 수를 나눴을때 결과값이 0이 되도록 만든 값 중 가장 큰 값을 의미함 - (따라서 break문은 사용하지 않음) a,b,c = map(int,input().split()) # 가장 큰 수 구하기 tmp1 = a tmp2 = c if b tmp2 else tmp2 result = 1 # 가장 큰 수까지 반복하기 for i in range(2, tmp3+1): if a%i == 0 and b%i == 0 and c%i == 0: result = i print(result)
문제 접근 방법 - 2진수는 bin 함수를 사용 - 8진수는 oct 함수를 사용 - 16진수는 hex 함수를 사용 num = int(input()) print("2 %s"%(bin(num)[2:])) print("8 %s"%(oct(num)[2:])) print("16 %s"%(hex(num)[2:]).upper())
문제 접근 방식 - 짝수인지 홀수인지 판별 - 저장되는 값은 모두 0으로 초기화 해놓고 값 크기 비교 후 대입 num = map(int,input().split()) num = list(num) sum1 = 0 sum2 = 0 for i in range(7): # 홀수이면 if num[i]%2 != 0: # 저장되어 있는 값보다 크면 if sum1 < num[i]: sum1 = num[i] # 짝수이면 else: if sum2 < num[i]: sum2 = num[i] print(sum1+sum2)
문제 접근 방식 - 배열 형태를 선언하여 값을 입력받는다. - %2==0 인 경우 짝수에 해당된다. - 홀수인 경우 누적해서 값을 더하고 짝수인지를 판별하는 변수는 참이 되도록 설정한다. num = map(int,input().split()) num = list(num) c = 0 sum = 0 for i in range(7): if num[i]%2 != 0: sum += num[i] c = 1 if c==0: print(-1) else: print(sum)
문제 접근 방식 - 각 성별 및 학년을 구분할 수 있는 배열 2개 선언(남/여) - 같은 학년이면 해당하는 값에 +1 - 방을 배정할 때 인원을 몫과 나머지를 신경써서 계산 person, room = map(int,input().split()) man = [0,0,0,0,0,0] woman = [0,0,0,0,0,0] for i in range(person): p, g = map(int,input().split()) # 남자면 if p == 1: # 1~6에 맞는 반으로 넣기 man[g-1] += 1 else: woman[g-1] += 1 # 필요한 방 개수 real = 0 for i in range(6): real += man[i]//room if man[i]%room: real += 1 real +=..
문제 접근 방식 - 값을 입력하고 A와 B 번갈아 가면서 입력 받는다 (두 개의 배열 선언 및 %2==0 활용) - 각 주어지는 값을 4 3 2 1 순으로 정리 후 각 자리마다 비교 - 모든 값이 일치하면 D 출력 num = int(input()) c = 0 list_A = [] list_B = [] # 특정 값이 있는지 판단 함수 def check(x, a,b,c,d): #x는 A또는 B / a,b,c,d는 찾는 값 t1=0;t2=0;t3=0;t4=0 for i in range(len(x)): if a in x[i]: t1 += 1 elif b in x[i]: t2 += 1 elif c in x[i]: t3 += 1 elif d in x[i]: t4 += 1 return [t1,t2,t3,t4] # 값..