코딩/Python (75) 썸네일형 리스트형 [Python] 백준 9613 GCD합 코드 작성 import math n = int(input()) for _ in range(n): k = list(map(int, input().split())) sum = 0 for i in range(1,len(k)): for j in range(i+1, len(k)): sum += math.gcd(k[i],k[j]) print(sum) 코드 풀이 #1. GCD(Greatest Common Divisor) 최대 공약수는 math 모듈을 불러와서 파이선에 내장되어 있는 함수를 사용한다. cf) LCM(Least Common Multiple): 최소공배수 #2. i와 i+1비교 k의 리스트중 0번째를 제외한 1번째부터 비교할텐데 1번째와 2,3,4번째 2번째와 3,4,번째 3번째와 4번째 이렇게 반복하기 .. [Python] 백준 11655 ROT13 코드 작성 word=input() ans='' for i in word: if 'a' [Python] 백준 11656 접미사 배열 코드 작성 word = input() lst = [] for i in range(len(word)): lst.append(word[i:]) lst.sort() for i in lst: print(i) 코드 풀이 #1 단어를 입력하고 그 길이만큼 for를 돌린다. #2 0번째부터 단어(word[0:]) 1번째부터 단어(word[1:]) 2번째부터 단어(word[2:]) 이렇게 10개의 단어를 lst라는 리스트 안에 넣는다 #3 정렬하고 다시 for를 이용하여 순서대로 출력 [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개의 값중 최소값, 최대값을 각각 출력한다. 이전 1 ··· 4 5 6 7 8 9 10 다음