코딩 (89) 썸네일형 리스트형 [Python] 백준 9020 골드바흐의 추측 코드 작성 def pr(n): if n ==1: return False for i in range(2, int(n**0.5)+1): if n%i == 0: return False else: return True import sys n = int(input()) for i in range(n): num = int(sys.stdin.readline()) a = num//2 b = num//2 while True : if pr(a) and pr(b): print(a,b) break else: a-=1 b+=1 코드 풀이 #0 문제순서 (1) 에라토스테네스의 체를 이용하여 함수 만들기 (2) 입력값 num을 2로 나눈 중간값 a,b에서 a는 1씩 감소하는 값, b는 1씩 증가하는 값 모두 소수가 되는 조건까지 .. [Python] 백준 10989 수 정렬하기3 코드 작성 import sys input = sys.stdin.readline n = int(input()) k = [0]*10001 for _ in range(n): k[int(input())] += 1 for i in range(1,10000): if k[i] != 0: for _ in range(k[i]): print(i) 코드 풀이 #0. 이제까지 풀었던 것 중 계속 잊어버리고 공부하고, 잊어버리고 공부하고를 반복했던 문제이다. 문제를 틀리면 정답 코드를 보고 다시 글로 적어본다. 다음날 다시 반복하는데 실패하면 그 다음날 또 반복한다. 그렇게 12일이나 걸렸다. #1. 메모리 초과 코드 정렬문제는 간단하게 나타낼 수 있는데 아래 같이 작성할 경우 이 문제의 경우 메모리 초과가 나온다. impor.. [Python] 백준 1874 스택 수열 코드 작성 n = int(input()) stack = [] ans = [] cur = 1 for _ in range(n): num = int(input()) while cur [Python] 백준 1676 팩토리얼 0의 개수 코드 작성 n = int(input()) k = 1 cnt = 0 for i in range(1,n+1): #팩토리얼 계산 k = k*i for i in str(k)[::-1]: if i != '0': break cnt += 1 print(cnt) 코드 풀이 #1. 팩토리얼을 계산한다. #2. 계산한 값(k)을 문자열로 뒤집은 후[::-1], i가 문자 ‘0’일 때 카운트를 +1 한다. #3. 그렇지 않으면 카운트를 출력하고 break [Python] 과제 안 내신 분..? 코드 작성 lst = [i for i in range(1,31)] for i in range(1,29): num = int(input()) lst.remove(num) print(min(lst)) print(max(lst)) 코드 풀이 #1 (1) lst 안에 1부터 30까지의 숫자를 넣고 (2) 학생 번호를 28번 입력함과 동시에 lst에서 제거한다. (3) 2개의 값중 최소값, 최대값을 각각 출력한다. [Python] 백준 9012 괄호 코드 작성 n = int(input()) for _ in range(n): k = list(input()) stack=[] for i in k: if i == '(': stack.append(i) elif i==')': if stack: stack.pop() else: print('NO') break else: if stack: print('NO') else: print('YES') 코드 풀이 n = int(input()) for _ in range(n): k = list(input()) stack=[] # 스택은 for문 안에 있어야 계속 초기화하면서 사용할 수 있음 for i in k: if i == '(': stack.append(i) elif i==')': if stack: #스택이 뭔가 있을경우.. [Python] 백준 4948 베르트랑 공준 코드 작성 def pr(n): #함수정의(소수 검출, 에라토스테네스의 체) if n == 1: return False for i in range(2, int(n**0.5)+1): if n%i == 0: return False else: return True prime = [] for i in range(1, 246913): if pr(i): #만약 i가 소수이면 prime.append(i) while True: cnt = 0 n = int(input()) if n==0: break for i in prime: if n < i [Python] 백준 2562 최댓값 코드 작성 1 n = [ ] for _ in range(9): n.append(int(input())) print(max(n)) print(n.index(max(n))+1) 코드 작성 2 n = [] max1 = 0 for _ in range(9): n.append(int(input())) for i in n: if i > max1: max1 = i print(max1) print(n.index(max1)+1) 코드 풀이 1 #1 1~9번째 줄까지 입력을 하나의 세로 리스트에 넣는다. 리스트에 추가할 때는 append 함수를 작성한다. #2 그리고 n리스트에서 최댓값을 출력하고, 그 최댓값의 인덱스를 출력하는데, 인덱스는 0부터 시작하므로 1을 추가해야 한다. 코드 풀이 2 #1 입력은 위의 값과 동일하.. 이전 1 ··· 6 7 8 9 10 11 12 다음