본문 바로가기

분류 전체보기

(93)
[Python] 백준 #1076. 저항 https://www.acmicpc.net/problem/1076 1076번: 저항 전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한 www.acmicpc.net # 1076 - Python 3 import sys input = sys.stdin.readline dic = {'black' : 0, 'brown' : 1, 'red' : 2, 'orange' : 3, 'yellow' : 4, 'green' : 5, 'blue' : 6, 'violet' : 7, 'grey' : 8, 'white' : 9} # dictionary 이용 sum = 0 sum += dic..
[Python] 백준 #1158. 요세푸스 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net # 1158 - Python 3 import sys input = sys.stdin.readline n, k = map(int, input().split()) arr = [i for i in range(1, n + 1)] answer = [] idx = 0 for _ in range(n): idx += k - 1 # pop될 arr 값의 idx if idx >= len(arr): # idx가 남은 수의 개수보다 큰 경우 idx %= len(arr) answer.append(str(arr...
[Python] 백준 #1026. 보물 https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net # 1026 - Python 3 import sys input = sys.stdin.readline n = int(input()) arr1 = list(map(int, input().split())) arr2 = list(map(int, input().split())) sum = 0 arr1.sort() # arr1을 작은 순서로 정렬 arr2.sort() arr2.reverse() # a..
[Python] 백준 #1676. 팩토리얼 0의 개수 https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net # 1676 - Python 3 import sys input = sys.stdin.readline def factorial(n): # factorial 함수 answer = 1 if n == 1: return answer elif n == 0: return answer else: while n != 1: answer *= n n -= 1 return answer n = factorial(int(input())) cnt = 0 while n % 10 == 0: cnt += 1 n /..
[Python] 백준 #1769. 3의 배수 https://www.acmicpc.net/problem/1769 1769번: 3의 배수 문제가 잘 풀리지 않을 때, 문제를 바라보는 시각을 조금만 다르게 가지면 문제가 쉽게 풀리는 경험을 종종 해 보았을 것이다. 여러 가지 방법이 있지만 그 중 하나로 우리가 풀고 싶은 문제를 www.acmicpc.net # 1769 - Python 3 import sys input = sys.stdin.readline def sumall(string): sum = 0 if len(string) > 1: for i in string: sum += int(i) return str(sum) # 시간 초과 해결 위해 str으로 return x = input() x = x[:-1] # 개행문자 \n 제거 cnt = 0 whil..
[Python] 백준 #1312. 소수 https://www.acmicpc.net/problem/1312 1312번: 소수 피제수(분자) A와 제수(분모) B가 있다. 두 수를 나누었을 때, 소숫점 아래 N번째 자리수를 구하려고 한다. 예를 들어, A=3, B=4, N=1이라면, A÷B=0.75 이므로 출력 값은 7이 된다. www.acmicpc.net # 1312 - Python 3 import sys input = sys.stdin.readline a, b, n = map(int, input().split()) for i in range(n): a = (a % b) * 10 answer = a // b print(answer)
[Python] 백준 #1357. 뒤집힌 덧셈 https://www.acmicpc.net/problem/1357 1357번: 뒤집힌 덧셈 어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev( www.acmicpc.net # 1357 - Python 3 import sys input = sys.stdin.readline def Rev(x): # Rev function 정의 sum = 0 # 입력은 str, 출력은 int로 진행 for i in range(len(x)): sum += int(x[i]) * (10 ** i) return sum a, b = map(str,..
[Python] 백준 #1356. 유진수 https://www.acmicpc.net/problem/1356 1356번: 유진수 첫째 줄에 수 N이 주어진다. 이 수는 2,147,483,647보다 작거나 같은 자연수이다. www.acmicpc.net # 1356 - Python 3 import sys input = sys.stdin.readline def multiple(arr): cnt = 1 for i in arr: cnt *= int(i) return cnt n = str(int(input())) # 개행문자 \n을 지우기 위해 int로 입력받고 str으로 다시 변환 idx = False for i in range(1, len(n)): if multiple(n[:i]) == multiple(n[i:]): idx = True break if ..