Python 490

[파이썬/python] 백준 25704번 출석 이벤트

문제 쇼핑몰에서 30일간 출석 이벤트를 진행한다. 쇼핑몰의 사이트를 방문하면 1일 1회 출석 도장을 받을 수 있고, 출석 도장을 여러 개 모아서 할인 쿠폰으로 교환할 수 있다. 출석 도장의 개수에 따라 교환할 수 있는 할인 쿠폰의 종류가 달라진다. 출석 도장 5개 → 500원 할인 쿠폰 출석 도장 10개 → 10% 할인 쿠폰 출석 도장 15개 → 2,000원 할인 쿠폰 출석 도장 20개 → 25% 할인 쿠폰 경태가 모은 출석 도장의 개수와 구매할 물건의 가격이 주어졌을 때, 경태가 지불해야 하는 최소 금액을 구하시오. 단, 할인 쿠폰은 최대 하나만 적용 가능하다. 할인 금액이 물건의 가격보다 더 큰 경우 지불해야 하는 금액은 0원이다. 입력 첫째 줄에 경태가 모은 출석 도장의 개수 N이 주어진다. 둘째 ..

[파이썬/python] 백준 27110번 특식 배부

문제 설날을 맞아 부대원들을 위해 특식으로 치킨을 주문했다. 후라이드 치킨, 간장치킨, 양념치킨을 각각 N마리씩 주문했고, 1인당 치킨을 한 마리씩 배부하고자 한다. 최대한 많은 부대원에게 본인이 선호하는 종류의 치킨을 배부해주기 위해 으뜸병사는 부대원들의 치킨 종류 선호도를 조사했고, 세 가지 치킨 중 후라이드 치킨, 간장치킨, 양념치킨을 가장 선호하는 인원의 수는 각각 A명, B명, C명이라는 것을 알아냈다. 이때, 모든 부대원은 각자 한 종류의 치킨만 골라 답했다. 본인이 가장 선호하는 종류의 치킨을 받을 수 있는 인원수의 최댓값을 구하여라. 입력 첫 번째 줄에 주문한 각 종류의 치킨 마릿수 N이 주어진다. 두 번째 줄에 후라이드 치킨을 가장 선호하는 병사의 수 A, 간장치킨을 가장 선호하는 병사의..

[파이썬/python] 백준 27294번 몇개고?

문제 고려대학교 로봇융합관에서 MatKor Cup을 준비하던 주영이는 같이 초밥을 먹자는 동우의 말에 호랭이 초밥 집에 갔다. 모듬 초밥을 먹으면서 동우와 주영이는 다음과 같은 대화를 하였다. 동우: "몇개고?" 주영: "응?" 동우: "밥알말이다. 몇개고?" 주영: "그건 또 뭔데?" 동우: "삼백 이십개다. 훈련된 초밥 장인이 이 한번 스시를 쥘 때 보통은 이 밥알이 삼백 이십개라. 점심 식사에는 삼백 이십개가 적당하다 캐도, 오늘 같은 날이나 술하고 같이 낼 때는 이백 팔십개만 해라, 어이? 배 안부르구로" 주영: "어디서 또 이상한거 배워왔냐" 동우: "너 혹시 재벌집 막내아들 뭔지 모르나?" 주영: "모른다" 대한민국을 뒤흔든 드라마를 모른다는 주영이의 말에 동우는 적잖은 충격을 받았다. 사태의..

[파이썬/python] 백준 1673번 치킨 쿠폰

문제 강민이는 치킨 한 마리를 주문할 수 있는 치킨 쿠폰을 n장 가지고 있다. 이 치킨집에서는 치킨을 한 마리 주문할 때마다 도장을 하나씩 찍어 주는데, 도장을 k개 모으면 치킨 쿠폰 한 장으로 교환할 수 있다. 강민이가 지금 갖고 있는 치킨 쿠폰으로 치킨을 최대 몇 마리나 먹을 수 있는지 구하여라. 단, 치킨을 주문하기 위해서는 반드시 치킨 쿠폰을 갖고 있어야 한다. 입력 여러 줄에 걸쳐서 자연수 n과 k가 주어진다. ex) 4 3 10 3 100 5 출력 각 입력마다 한 줄에 정답을 출력한다. ex) 5 14 124 코드 import sys while(1): try: n,k=map(int, sys.stdin.readline().split()) result=n while(1): if(result//k=..

[파이썬/python] 백준 10822번 더하기

문제 숫자와 콤마로만 이루어진 문자열 S가 주어진다. 이때, S에 포함되어있는 자연수의 합을 구하는 프로그램을 작성하시오. S의 첫 문자와 마지막 문자는 항상 숫자이고, 콤마는 연속해서 주어지지 않는다. 주어지는 수는 항상 자연수이다. 입력 첫째 줄에 문자열 S가 주어진다. S의 길이는 최대 100이다. 포함되어있는 정수는 1,000,000보다 작거나 같은 자연수이다. ex) 10,20,30,50,100 출력 문자열 S에 포함되어 있는 자연수의 합을 출력한다. ex) 210 코드 import sys num=list(map(int, sys.stdin.readline().split(","))) print(sum(num))

[파이썬/python] 백준 1402번 아무래도이문제는A번난이도인것같다

문제 어떤 정수 A가 있으면 그 숫자를 A = a1 * a2 * a3 * a4 ... * an으로 했을 때 A' = a1 + a2 + a3 ... + an이 성립하면 "A는 A'으로 변할 수 있다"라고 한다. (ai는 정수) 만약 A'이 A''으로 변할 수 있으면 "A는 A''으로 변할 수 있다"라고 한다. 이때 A와 B가 주어지면 A는 B로 변할 수 있는지 판별하시오. 입력 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 100)이 주어진다. 테스트 케이스마다 두 정수 A, B(-2^31 ≤ A, B ≤ 2^31-1)가 주어진다. ex) 1 6 5 출력 각각의 테스트 케이스마다 한 줄에 변할 수 있으면 yes, 아니면 no를 출력한다. ex) yes 코드 import sys n=int(sys.std..

[파이썬/python] 백준 11034번 캥거루 세마리2

문제 캥거루 세 마리가 사막에서 놀고 있다. 사막에는 수직선이 하나 있고, 캥거루는 서로 다른 한 좌표 위에 있다. 한 번 움직일 때, 바깥쪽의 두 캥거루 중 한 마리가 다른 두 캥거루 사이의 정수 좌표로 점프한다. 한 좌표 위에 있는 캥거루가 두 마리 이상일 수는 없다. 캥거루는 최대 몇 번 움직일 수 있을까? 입력 여러개의 테스트 케이스로 이루어져 있으며, 세 캥거루의 초기 위치 A, B, C가 주어진다. (0 < A < B < C < 100) ex) 2 3 5 3 5 9 출력 각 테스트에 대해 캥거루가 최대 몇 번 움직일 수 있는지 출력한다. ex) 1 3 코드 import sys while(1): try: a,b,c=map(int, sys.stdin.readline().split()) print(..

[파이썬/python] 백준 15921번 수찬은 마린보이야!!

문제 부산의 자랑! 동래의 희망! 부산 앞바다에서 수영선수의 꿈을 키워온 수찬이는 우리나라(자투리 지식: 우리 한민족이 세운 나라를 스스로 이르는 말은 합성어로서 ‘우리나라’로 붙여 표기)의 자랑스런 국가대표 수영선수가 되었다. 수찬이는 인터넷 뉴스를 통해 이번 2020 도쿄 하계올림픽 관련 전문가들의 인터뷰를 찾아보고 있다. 자신을 교수라고 소개한 어떤 전문가에 따르면, 유럽의 유명 대학 연구팀의 연구 결과에 따르면, 통계적으로 어떤 선수가 대회에서 연습과 비슷하게 꾸준한 기량을 뽐낼 수 있는 확률은 (연습 기록들의 평균값) / (연습 기록들 중 하나를 균일한 확률로 뽑을 때의 기댓값) 이라고 한다. 수찬이는 이 기사를 읽고 무릎을 탁(!) 치며 자신의 연습 기록을 가지고 이 확률을 계산해보기로 했다...

[파이썬/python] 백준 15894번 수학은 체육과목 입니다

문제 성원이는 수학을 정말 못 하는 고등학생이다. 수학을 못하는 대신 근성과 팔 힘이 뛰어난 성원이는 수학 시험에서 수학 지식을 사용하지 않고 근성과 체력을 사용해 문제를 푼다. 지난 시험에서는 아래 사진에 나와있는 문제를 근성과 체력을 사용해 열심히 풀었지만 사진에서 볼 수 있듯이 틀려버리고 말았다! 결국 이 문제는 틀려버렸지만 성원이는 여전히 자신의 체력에 강한 자신감을 갖고 있다. 어떤 어려운 문제가 나와도 이런 식으로 근성과 체력을 사용하면 다 풀 수 있으니 이 방법은 최고의 방법이라고 생각하고 있다. 성원이의 친구 형석이는 근성과 체력으로 수학 문제를 푸는 것은 굉장히 무식한 방법이라고 생각한다. 형석이는 수학을 공부하면 문제를 훨씬 빨리 풀 수 있다는 것을 알려주기 위해 위 사진에 나와있는 문..

[파이썬/python] 백준 15688번 수 정렬하기 5

문제 N개의 수가 주어졌을 때, 이를 비내림차순으로 정렬하는 프로그램을 작성하시오. 길이가 K인 수열 A가 A1 ≤ A2 ≤ ... ≤ AK-1 ≤ AK를 만족하면, 비내림차순이라고 한다. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이며, 같은 수가 여러 번 중복될 수도 있다. ex) 5 5 4 3 2 1 5 1 2 1 2 1 출력 첫째 줄부터 N개의 줄에 비내림차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. ex) 1 2 3 4 5 1 1 1 2 2 코드 import sys n=int(sys.stdin.readline()) num=[] for i in range(n):..