코딩 (89) 썸네일형 리스트형 [Python] 백준 3052 나머지 코드 작성 ans = [] for i in range(10): n = int(input()) ans.append(n%42) print(len(set(ans))) 코드 풀이 #1. (1) 수를 입력한다. (2) 42의 나눈 나머지를 ans의 배열에 추가(append)한다. (3) 10번을 반복하고 (4) ans의 중복값을 제거(set)하여 길이를 제고(len) 출력(print)한다. [Python] 백준 17087 숨바꼭질 6 코드 작성 import math n,s = map(int,input().split()) k = list(map(int,input().split())) d = [] for i in k: d.append(abs(i-s)) ans = d[0] for i in d: ans = math.gcd(i,ans) print(ans) 코드 풀이 #0. 문제 풀이 이 문제는 수빈이의 위치 점 s부터 동생들의 위치 k에 대해 각각의 최대공약수d를 구하는 문제이다. 즉, (s-k[0]), (s-k[1]), (s-k[2]) 등 에 대해서 최대공약수를 구하는 문제이다. #1. 거리를 d리스트에 입력 n(동생의 수), s(수빈이의 위치), 동생 위치(k)값을 입력받고 각각의 위치를 저장할 d의 리스트를 만든다. 각각의 위치 거리 차.. [Python] 이스케이프 코드 이스케이프 코드는 프로그래밍을 할 때 미리 정의하여 간편한 약어로 사용할 수 있도록 한 문자 조합 백스페이스'\'와 조합하여 사용한다. 키보드에서 엔더 위에 ₩가 같은 기능을 한다. \n : 문자열 안에서 줄 바꿈(₩n) \t : 문자열 사이에 탭 간격(₩t) \\ : 문자 안에 \를 사용할 때(₩₩) \' : 작은따옴표(')를 사용할 때(₩') \" : 큰따옴표(")를 사용할 때(₩") [Python] 백준 1463 1로만들기 코드 작성 n = int(input()) d = [0] * (n + 1) for i in range(2, n + 1): d[i] = d[i - 1] + 1 if i % 3 == 0: d[i] = min(d[i], d[i // 3] + 1) if i % 2 == 0: d[i] = min(d[i], d[i // 2] + 1) print(d[n]) 문제 풀이 다이나믹 프레그래밍은 전에 했던 루트를 다시 반복하고 새로운 명령어에 한가지 방법을 추가한다. 숫자 10은 3으로 나누어 떨어지지 않기 때문에 10 > 5 > 4 > 2 > 1 순서로(4번) 생각해 볼 수 있지만, 10 > 9 > 3 > 1의 순서로(3번) 나타낼 수 있다. 마찬가지로 9의 값은 9 > 3 > 1로 표현(2번)되며 3의 값은 3 > 1로 .. [Python] 10808 알파벳 개수 n = input() lst = [0]*26 for i in n: lst[ord(i)-97] += 1 #a~z의 아스키코드는 97~122 for i in lst: print(i, end=' ') [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를 이용하여 순서대로 출력 이전 1 ··· 5 6 7 8 9 10 11 12 다음