Python 32

[Python] 백준 1357번 - 뒤집힌 덧셈

https://www.acmicpc.net/problem/1357문제어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev(X) = 1이다.두 양의 정수 X와 Y가 주어졌을 때, Rev(Rev(X) + Rev(Y))를 구하는 프로그램을 작성하시오 코드def Rev(num): return int(''.join(i for i in num[::-1]))X, Y = map(str, input().split())print(Rev(str(Rev(X)+Rev(Y)))) 풀이1. Rev 함수 : 숫자(문자열)를 입력받아 뒤집어 정수..

백준/브론즈1 2025.05.03

[Python] 백준 1236번 - 성 지키기

https://www.acmicpc.net/problem/1236문제영식이는 직사각형 모양의 성을 가지고 있다. 성의 1층은 몇 명의 경비원에 의해서 보호되고 있다. 영식이는 모든 행과 모든 열에 한 명 이상의 경비원이 있으면 좋겠다고 생각했다.성의 크기와 경비원이 어디있는지 주어졌을 때, 몇 명의 경비원을 최소로 추가해야 영식이를 만족시키는지 구하는 프로그램을 작성하시오. 코드rows, cols = map(int, input().split())row = [0 for i in range(rows)]col = [0 for i in range(cols)]for i in range(rows): tmp = input() for j in range(cols): if tmp[j] == 'X'..

백준/브론즈1 2025.04.30

[Python] 백준 1292번 - 쉽게 푸는 문제

https://www.acmicpc.net/problem/1292문제동호는 내년에 초등학교를 입학한다. 그래서 동호 어머니는 수학 선행 학습을 위해 쉽게 푸는 문제를 동호에게 주었다.이 문제는 다음과 같다. 1을 한 번, 2를 두 번, 3을 세 번, 이런 식으로 1 2 2 3 3 3 4 4 4 4 5 .. 이러한 수열을 만들고 어느 일정한 구간을 주면 그 구간의 합을 구하는 것이다.하지만 동호는 현재 더 어려운 문제를 푸느라 바쁘기에 우리가 동호를 도와주자. 코드A, B = map(int, input().split())total = tmp = 0num = 1while tmp = B: break total += num tmp += 1 num += 1tmp ..

백준/브론즈1 2025.04.30

[Python] 백준 1157번 - 단어 공부

https://www.acmicpc.net/problem/1157문제알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 코드keys = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']Alphabet = dict.fromkeys(keys, 0)str = input().upper()for i in str: if i in keys: Alphabet[i] += 1max = 0index = '..

백준/브론즈1 2025.04.29

[Python] 백준 2755번 - 이번학기 평점은 몇 점?

https://www.acmicpc.net/problem/2755문제최백준이 이번 학기에 들은 과목과 학점 그리고 성적이 주어졌을 때, 평균 평점을 계산하는 프로그램을 작성하시오.성적은 A+~F까지 총 13개가 있다.A+: 4.3, A0: 4.0, A-: 3.7B+: 3.3, B0: 3.0, B-: 2.7C+: 2.3, C0: 2.0, C-: 1.7D+: 1.3, D0: 1.0, D-: 0.7F: 0.0평균 평점은 각 과목의 학점*성적을 모두 더한 뒤에, 총 학점으로 나누면 된다. 코드grades = {'A+':4.3, 'A0':4.0, 'A-':3.7, 'B+':3.3, 'B0':3.0, 'B-':2.7, 'C+':2.3, 'C0':2.0, 'C-':1.7, ..

백준/브론즈1 2025.04.29

[Python] 백준 1037번 - 약수

https://www.acmicpc.net/problem/1037문제양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오. 코드num = int(input())nums = list(map(int, input().split()))if num == 1: print(nums[0] ** 2)else: print(min(nums) * max(nums)) 풀이1. 약수 개수를 받아준다.2. 이제 split으로 나눈 숫자들을 정수형태로 리스트에 받아준다.3. 만약 입력받은 숫자가 1개라면 그 수를 제곱하고4. 아니라면 입력받은 숫자 중 가장 작은 수와 가장 큰 수를 곱해준다.

백준/브론즈1 2025.04.28

[Python] 백준 1032번 - 명령 프롬프트

https://www.acmicpc.net/problem/1032문제시작 -> 실행 -> cmd를 쳐보자. 검정 화면이 눈에 보인다. 여기서 dir이라고 치면 그 디렉토리에 있는 서브디렉토리와 파일이 모두 나온다. 이때 원하는 파일을 찾으려면 다음과 같이 하면 된다.dir *.exe라고 치면 확장자가 exe인 파일이 다 나온다. "dir 패턴"과 같이 치면 그 패턴에 맞는 파일만 검색 결과로 나온다. 예를 들어, dir a?b.exe라고 검색하면 파일명의 첫 번째 글자가 a이고, 세 번째 글자가 b이고, 확장자가 exe인 것이 모두 나온다. 이때 두 번째 문자는 아무거나 나와도 된다. 예를 들어, acb.exe, aab.exe, apb.exe가 나온다.이 문제는 검색 결과가 먼저 주어졌을 때, 패턴으로 ..

백준/브론즈1 2025.04.28

[Python/C] 백준 2609번 - 최대공약수와 최소공배수

https://www.acmicpc.net/problem/2609문제두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오. [Python] 코드def GCD(num1, num2): while num2 != 0: num1, num2 = num2, num1 % num2 return num1def LCM(num1, num2): return (num1*num2) / GCD(num1, num2)A, B = map(int, input().split())if A 풀이1. GCD : 최대공약수 구하는 함수. 유클리드 호제법 알고리즘을 사용했다.2. LCM : 최소공배수를 구하는 함수. 두 수의 곱에 최대공약수를 나눠주면 나온다.3. 유클리드 호제법을 사용할..

백준/브론즈1 2025.04.27

[Python] 백준 1252번 - 이진수 덧셈

https://www.acmicpc.net/problem/1252문제두 개의 이진수를 입력받아 이를 더하는 프로그램을 작성하시오. 코드A, B = input().split()print(bin(int(A, 2) + int(B, 2))[2:]) 풀이1212번과 유사한 문제다.1. 덧셈할 두 수를 입력받는다.2. 2진수로 인지한 A와 B를 10진수로 변환 후 덧셈하고 bin()을 사용하여 다시 2진수로 만들고 [2:]로 나온 값 앞의 0b를 빼준다.

백준/브론즈2 2025.04.27