포도가게의 개발일지
백준 01일차 본문
5. 윤년 문제 if 사용법 알기
4번 문제 윤년
a = int(input())
if a%4 == 0:
if a%100 == 0:
if a%400 == 0:
print("1")
else:
print("0")
if a%100 != 0:
print("1")
else:
print('0')
6. 직사각형 내부에서 최소 거리 찾기
x,y,w,h = map(int,input().split())
check_min = [x-0,w-x,y-0,h-y]
print(min(check_min))
7. 구구단 %d 사용법 알기
n = int(input())
for x in range(9):
print('{0} * {1} = {2}'.format(n,x+1,n*(x+1)))
8. 배열 값 저장 append() 사용
t = int(input())
array_x=[]
array_y=[]
for x in range(t):
a,b = input().split()
array_x.append(a)
array_y.append(b)
print(int(array_x[x])+int(array_y[x]))
9. 별그리기
n = int(input())
for x in range(n):
print('*'*(x+1))
10. print 줄바꿈 막기
n,check_num = map(int,input().split())
array = input().split()
result_array = []
for x in array:
result_array.append(int(x))
last_result = []
for check in result_array:
if check < check_num:
last_result.append(check)
for x in last_result:
print(x, end=' ')
# python print 함수는 기본적으로 print('hello world', end='\n')으로 되어있어 자동 줄바꿈남
11. array index 원하는 위치값 출력 방법
array = []
for x in range(9):
tmp_a = int(input())
array.append(tmp_a)
tmp = max(array)
print(max(array))
print(array.index(tmp)+1)
12. OX 퀴즈 점수 띄어쓰기없이 들어오는 input값 str나누기 필요
n = int(input())
arr = []
for x in range(n):
tmp = input().split()
arr.append(tmp)
for y in range(n):
arr_arr = []
## 여기서 ['oxo'] -> ['o','x','o']로 변환
for i in range(len(arr[y][0])):
arr_arr.append(arr[y][0][i])
#print(f'{arr_arr}array')
score = 0
tmp_answer = []
for x in arr_arr:
tmp_answer.append(x)
if x != 'O':
tmp_answer = []
if x == 'O':
score += len(tmp_answer)
else:
score += 0
print(score)
13. 학생 평균 넘는 백분율 반올림 함숨 round 자릿수 고정 검색
test_n = int(input())
test_arr = []
for x in range(test_n):
test = input().split()
test_arr.append(test)
for y in test_arr:
num = int(y[0])
sums = 0
avg = 0
count = 0
del y[0]
for i in y:
sums += int(i)
avg = sums / num
for i in y:
if int(i) > avg:
count += 1
result = round(count/num*100,3)
print(f'{result:.3f}%')
14. str count 검색 기능
a = int(input())
b = int(input())
c = int(input())
result = str(a*b*c)
search = ['0','1','2','3','4','5','6','7','8','9']
for x in search:
print(result.count(x))
15. 함수만들기 제출페이지로 가면 함수가 구현되있어 완성만 하면됨
a = [1,2,3,4,5]
def solve(a):
ans = 0
for x in a:
ans = ans + x
return ans
result = solve(a)
print(result)
16. 아스키 코드 변환
## 문자열 -> 아스키
a = input()
print(ord(a))
## 아스키 -> 문자열
chr(a)
17. 문자열 합치기 ''(구분자),join(합칠리스트)
test_num = int(input())
arr = []
for x in range(test_num):
que = input().split()
arr.append(que)
for y in arr:
repeat = int(y[0])
del y[0]
length = len(y[0])
result = []
for i in range(length):
result.append(y[0][i]*repeat)
print(''.join(result))
18. 배열 str 개수세기
a = input().split()
print(len(a))
## len 길이 말고도
## count() 함수는 원하는 값이 몇개 들어있는지 세는거다
19. 배열 뒤집기 reverse함수와 reversed함수
a,b = input().split()
arr1 = []
arr2 = []
length1 = len(a)
length2 = len(b)
for x in range(length1):
arr1.append(a[x])
arr1.reverse()
for x in range(length2):
arr2.append(b[x])
arr2.reverse()
x = int(''.join(arr1))
y = int(''.join(arr2))
if x > y:
print(x)
else:
print(y)
20. 달팽이 올라가기
import math
a,b,c = map(int,input().split())
result = (c-a) / (a-b) + 1
print(math.ceil(result))
등차 수열
a1 = a1
a2 = a1 + d
a3 = a2 + d = a1 +d + d = a1 + (n-1)d = 높이
21. 소수찾기 문제
import sys
num = int(sys.stdin.readline())
que = list(map(int,sys.stdin.readline().split()))
count_check = 0
for x in que:
count = 0
for i in range(2, x+1):
if x%(i) == 0:
count += 1
if count == 1:
count_check += 1
print(count_check)
## 소수찾는거 만들어봄
def check(num):
count = 0
for i in range(2, num+1):
if num%(i) == 0:
count += 1
if count == 1:
return print('소수입니다')
check(11)
22. 골드바흐
import sys
def check(num):
count = 0
for i in range(2, num+1):
if num%(i) == 0:
count += 1
if count == 1:
prime_number.append(num)
return
num = int(sys.stdin.readline())
real = []
for zzz in range(num):
zt = sys.stdin.readline()
real.append(int(zt))
for math in real:
prime_number = []
front_data = []
end_data = []
min_data = []
max_data = []
#math = 100
min_what = 10000000
for i in range(1, math+1):
check(i)
length = int(len(prime_number)/2)+1
for x in prime_number[0:length]:
for j in prime_number:
if x + j == math:
front_data.append(x)
end_data.append(j)
for k in range(len(front_data)):
what = abs(front_data[k] - end_data[k])
if what < min_what:
min_what = what
min_data = front_data[k]
max_data = end_data[k]
print(min_data, max_data)
///////////////////////////////////////////////////////////////////////////시간초과///////////////////////////////////////////////////////////////////////////
## 에라토노스 테네스의 체로 미리 소수 판별 만들어놓기 -> clear 단축 -> ex)100 이면 50으로가 소수체크 아니면 1씩 멀어짐
prime_number = [False,False] + [True]*(10000-1)
for i in range(2,10000+1):
if prime_number[i]:
for j in range(2*i,10000+1, i):
prime_number[j] = False
def check(num):
if prime_number[num] == True:
return print('소수입니다')
else:
return print('소수가 아닙니다')
'백준' 카테고리의 다른 글
python 백준 1655번 수찾기(이분탐색) (0) | 2021.08.15 |
---|---|
python 백준 2468번 안전영역 (0) | 2021.08.11 |
백준 10971번 외판원의 순회 2 (0) | 2021.08.10 |
백준 03일차 (0) | 2021.08.09 |
백준 02일차 (0) | 2021.08.07 |