Python 929

[그리디] 이코테 (파이썬) 문자열 뒤집기 풀이

[문제] 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있습니다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 합니다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것입니다. 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미합니다. 예를 들어 S = 0001100일 때는 다음과 같습니다. 1. 전체를 뒤집으면 1110011이 됩니다. 2. 4번째 문자부터 5번째 문자까지 뒤집으면 1111111이 되어서 두 번 만에 모두 같은 숫자로 만들 수 있습니다. 하지만, 처음부터 4번째 문자부터 5번째 문자까지 문자를 뒤집으면 한 번에 0000000이 되어서 1번 만에 모두 같은 숫자로 만들 수 있습니다. 문자열 S가 주어졌을 때, 다솜이가 해야 하는 ..

[그리디] 이코테 (파이썬) 만들 수 없는 금액 풀이

[문제] 동네 편의점의 주인인 동빈이는 N개의 동전을 가지고 있습니다. 이때 N개의 동전을 이용하여 만들 수 없는 양의 정수 금액 중 최솟값을 구하는 프로그램을 작성하세요. 예를 들어, N = 5 이고, 각 동전이 각각 3원, 2원, 1원, 1원, 9원짜리(화폐 단위) 동전이라고 가정합시다. 이때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 8원입니다. 또 다른 예시로, N = 3이고, 각 동전이 각각 3원, 5원, 7원짜리(화폐 단위_ 동전이라고 가정합시다. 이때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 1원입니다. [입력 조건] 1. 첫째 줄에는 동전의 개수를 나타내는 양의 정수 N이 주어집니다. (1

백준(Python) 2884번 알람 시계 풀이

Python으로 구현한 2884번 알람 시계 문제 풀이입니다. https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net h, m = map(int, input().split()) if m - 45 < 0 : if h - 1 < 0 : h = 23 print(h, m + 15) else : print(h - 1, m + 15) else : print(h, m - 45) h와 m을 입력받고, 입력받은 m에서 45를 뺀 값이 0 미만이라면 조건문을 수행한다. 그 내부..

백준(Python) 2588번 곱셈 풀이

Python으로 구현한 2588번 곱셈 문제 풀이입니다. https://www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net a, b = int(input()), int(input()) one = b % 10 two = (b % 100) // 10 three = (b % 1000) // 100 print(a * one) print(a * two) print(a * three) print(a * b) a와 b를 입력받고, 각 변수 one, two, three에 1의 자리 값, 10의 자리 값, 100의 자리 값을 할당한다. 문제에서 요구하는 출력 형식에 맞게 각각 a와 ..

백준(Python) 10950번 A+B - 3 풀이

Python으로 구현한 10950번 A+B - 3 문제 풀이입니다. https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net t = int(input()) for _ in range(t) : a, b = map(int, input().split()) print(a+b) 테스트 케이스 t를 입력받고 각 테스트 케이스마다 입력받은 a와 b의 합을 출력한다.

백준(Python) 2753번 윤년 풀이

Python으로 구현한 2753번 윤년 문제 풀이입니다. https://www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net year = int(input()) if (year%4 == 0 and year%100 != 0) or year%400 == 0 : print("1") else : print("0") 연도를 입력받고 조건문을 통해 입력받은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 경우 윤년이라 판단되어 1을 출력하고,..

백준(Python) 10871번 X보다 작은 수 풀이

Python으로 구현한 10871번 X보다 작은 수 문제 풀이입니다. https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net n, x = map(int, input().split()) result = list(map(int, input().split())) for i in range(n) : if result[i] < x : print(result[i], end=' ') n과 x를 입력받고 result 리스트에 n개의 정수를 입력받아 ..

백준(Python) 10430번 나머지 풀이

Python으로 구현한 10430번 나머지 문제 풀이입니다. https://www.acmicpc.net/problem/10430 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net a, b, c = map(int, input().split()) print((a+b) %c) print(((a%c) + (b%c)) %c) print((a*b) %c) print(((a%c) * (b%c)) %c) a, b, c를 입력받고 첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다.