본문 바로가기
반응형

분류 전체보기252

[백준][Python] 13305번 주유소 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 코드 n = int(input()) len = list(map(int,input().split())) cost = list(map(int,input().split())) ans = 0 min = cost[0] for i in range(n-1): if cost[i] < min: min = cost[i] ans += min*len[i] print(ans) 설명 지금까지 가장 싼 주유소의 가격을 min에 저장해둔다. 처음은 한 곳밖에 없으니 무조건 거기.. 2022. 3. 25.
[백준][Python] 1343번 폴리오미노 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net 코드 x_list = list(input().split('.')) ans = [] err = 0 for i in range(len(x_list)): num = len(x_list[i]) if num > 0: if num % 2 == 0: while num != 0: if num >= 4: ans.append('AAAA') num -= 4 else: ans.append('BB') num -= 2 else: err = 1 break if i != len(x_list)-1: ans.append('.') if err == 1: print(-1) else: for i in .. 2022. 3. 24.
[백준][Python] 14916번 거스름돈 14916번: 거스름돈 첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. www.acmicpc.net 코드 n = int(input()) ans = 0 while n != 0: if n%5 == 0: ans += n//5 break else: n -= 2 if n < 0: ans = -1 break ans += 1 print(ans) 설명 5는 2의 배수가 아니기 때문에 큰 수인 5로 먼저 거스르고 나머지를 2로 거스르는 방법은 사용할 수 없다. 그래서 일단 주어진 수가 5의 배수이면 나눈 값을 ans 변수에 더해줬고, 만약 5의 배수가 아니면 2를 빼주고 ans를 1 증가시켰다. 근데 2를 빼준 수가 음수가 되면 이것은 거슬러 줄 수 없는 상황이므로 -1을 출력하게 했다. 2022. 3. 23.
[백준][Python] 1747번 소수&팰린드롬 1747번: 소수&팰린드롬 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, www.acmicpc.net 코드 import math N = int(input()) def prime(N): for i in range(2,int(math.sqrt(N))+1): if N%i == 0: return False return True ans = 0 for i in range(N,1000001): if i>1 and str(i) == str(i)[::-1]: if prime(i): print(i) ans = 1 break if ans == .. 2022. 3. 22.
반응형