Python 32

[Python] 백준 4740번 - 거울, 오 ! 거울

https://www.acmicpc.net/problem/4740문제근하와 세용이는 주차장에서 자신들의 차 뒤에 주차된 구급차에 쓰여있는 ECNALUBMA라는 알 수없는 글자를 보고 갸우뚱하였다. 그리고 그들이 차에 탄 뒤 백미러를 통해 보고서야 그 글자가 AMBULANCE라는 것이였음을 알고는 웃음을 참을 수 없었다.근하와 세용이는 뒤늦게서야 각각의 문자의 위치가 거꾸로 되어버린 이 글자들을 자신들도 모르는 사이에 머릿속에서 올바른 글자가 되도록 수정작업을 하며 애를 쓰고 있었음을 깨달았다.이 경험을 통해 흥미를 가지게 된 근하와 세용이는, 문장을 입력하면 입력한 문장의 개별 단어들을 역순으로 배치하여 거꾸로 바뀐 문장을 출력하는 프로그램을 만들어 '거울 읽기' 연습을 하려고 마음먹었다. 코드while..

백준/브론즈3 2025.04.15

[Python] 백준 2061번 - 좋은 암호 / 백준 1837 - 암호제작

https://www.acmicpc.net/problem/2061https://www.acmicpc.net/problem/18372061을 푼 후 문제를 찾다가 알게됐는데 2061이랑 1837은 문제가 거의 같아서 같은 코드로 둘 다 풀 수 있었다. 문제(2061)암호화 방식 중에는 소수를 이용하는 것들이 많다. 보통은 매우 큰 두 개의 소수를 선택하고, 두 소수를 곱한 값을 암호화에서의 키로 사용하고는 한다. 이러한 방법이 좋은 이유는 일반적으로 매우 큰 수를 소인수분해 하는 것이 어렵기 때문이다.소수를 택할 때 큰 수를 택하면, 이 둘을 곱해서 얻어지는 키 값도 커지게 된다. 하지만 그 반대는 성립하지 않을 수도 있다. 즉, 키 값이 매우 큰 경우에도 이를 소인수분해 하는 것은 쉬울 수도 있다.따라서..

백준/브론즈3 2025.04.14

[Python] 백준 1547번 - 공

https://www.acmicpc.net/problem/1547문제세준이는 컵 3개를 탁자 위에 일렬로 엎어놓았다. 컵의 번호는 맨 왼쪽 컵부터 순서대로 1번, 2번 3번이고, 세준이는 이 컵을 이용해서 게임을 하려고 한다.먼저 1번 컵의 아래에 공을 하나 넣는다. 세준이는 두 컵을 고른 다음, 그 위치를 맞바꾸려고 한다. 예를 들어, 고른 컵이 1번과 2번이라면, 1번 컵이 있던 위치에 2번 컵을 이동시키고, 동시에 2번 컵이 있던 위치에 1번 컵을 이동시켜야 한다. 이때 공은 움직이지 않기 때문에, 공의 위치는 맨 처음 1번 컵이 있던 위치와 같다.세준이는 컵의 위치를 총 M번 바꿀 것이며, 컵의 위치를 바꾼 방법이 입력으로 주어진다. 위치를 M번 바꾼 이후에 공이 들어있는 컵의 번호를 구하는 프로..

백준/브론즈3 2025.04.14

[Python/C] 백준 5554번 - 심부름 가는 길

https://www.acmicpc.net/problem/5554문제승균이는 매일 학교, PC방, 학원에 다닌다. 반복되는 일상에 익숙해진 승균이는 이동시간을 단축해서 PC방에 더 오래 머물고 싶었다. 그래서 스톱워치를 들고 이동할 때마다 기록을 잰 후 집에 가서 분석해보기로 했다.집에 도착한 승균이는 측정한 결과를 보는 데, 전부 초 단위로 기록되어있다! 맨날 놀기만 해서 총 이동 시간이 몇 분 몇 초인지 계산을 못 하는 승균이를 도와주자.하루 동안 측정한 결과가 주어지면, 이날의 총 이동 시간이 몇 분 몇 초인지 출력하는 프로그램을 작성하시오. [Python] 코드time = 0for i in range(4): time += int(input())print(time // 60)print(time..

백준/브론즈4 2025.04.13

[Python/C] 백준 2752번 - 세수정렬

https://www.acmicpc.net/problem/2752문제동규는 세수를 하다가 정렬이 하고 싶어졌다.정수 세 개를 생각한 뒤에, 이를 오름차순으로 정렬하고 싶어졌다.정수 세 개가 주어졌을 때, 가장 작은 수, 그 다음 수, 가장 큰 수를 출력하는 프로그램을 작성하시오. [Python] 코드a, b, c = map(int, input().split())nums = sorted([a, b, c])print(*nums) 풀이1. map과 split함수를 이용해서 받아온 수를 정수로 분리하여 abc에 저장한다2. 그 다음 abc를 넣은 리스트를 sorted해서 정렬한 리스트를 새로 반환한다3. *을 사용해서 리스트를 공백으로 나눠 출력한다. 위를 한 줄로 표시 가능한데 그 코드는 바로 다음과 같다pr..

백준/브론즈4 2025.04.13

[Python/C] 백준 2742번 - 기찍 N

https://www.acmicpc.net/problem/2742문제자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. [Python] 코드num = int(input())for i in range(num,0,-1): print(i) 풀이1. 숫자를 받아 정수로 변환한다.2. range(start, end, step)의 경우 start부터 end 미만까지 step의 간격으로 정수 범위를 반환한다. range(num, 0 , -1)의 경우는 num부터 1까지 1씩 감소하는 정수들을 반환하게 된다. 만약 0까지 출력하고 싶으면 range(num, -1, -1)로 설정하면 된다. [C] 코드#include int main(){ int n = 0; scanf("%d",..

백준/브론즈4 2025.04.13

[Python/C] 백준 2480번 - 주사위 세개

문제 [Python] 코드a, b, c = map(int, input().split())if a == b == c: price = 10000 + a * 1000elif a == b or b == c: price = 1000 + b * 100elif a == c: price = 1000 + a * 100else: price = max(a,b,c) * 100print(price) 풀이1. map함수와 split 함수를 이용해서 문자열을 나눈 뒤에 정수로 abc에 저장한다 (map함수의 사용법을 알게됐따!)2. 이제 조건별로 나눠서 상금을 저장하고    2-1. 눈이 두 개가 같았을 경우는 ab bc, ac로 나누었다. ac bc, ab로 나눠도 상관없다. 그냥 코드 줄이려고 문자 겹치는..

백준/브론즈4 2025.04.13

[Python] 백준 5565번 - 영수증

https://www.acmicpc.net/problem/5565문제새 학기를 맞아 상근이는 책을 10권 구입했다. 상근이는 의욕이 너무 앞서서 가격을 조사하지 않고 책을 구입했다. 이제 각 책의 가격을 알아보려고 한다.하지만, 영수증에는 얼룩이 묻어있었고, 상근이는 책 10권 중 9권의 가격만 읽을 수 있었다.책 10권의 총 가격과 가격을 읽을 수 있는 9권 가격이 주어졌을 때, 가격을 읽을 수 없는 책의 가격을 구하는 프로그램을 작성하시오. 코드total = int(input())for i in range(9): num = int(input()) total -= numprint(total) 풀이1. 구매한 책들의 가격을를 받아 정수로 변환한다2. 9권의 가격을 알고있으니 총액에서 각 책의 ..

백준/브론즈4 2025.04.13