본문 바로가기

프로그램/Python 1000제289

Python 85제] 어파처 p169 응용문제 출처 : 반크_세계유산 창덕궁 문제] 임의의 금액을 입력하여 입력한 금액의 두배이상이 되는 기간과 그 금액을 구하는 프로그램을 작성하시오. (단, 이율은 실수로 입력하도록 하세요.) 출력 예) 이름을 입력하시오 : 강저축 초기 저축액을 입력하시오 : 10000000 올해의 년도를 입력하시오 : 2022 현재 이자율을 입력하시오 : 0.05 강저축님의 초기 저축액은 10000000원이며 이자율 0.05를 적용하였을 때 2022년부터 15년 후인 2037년에 저축액의 두 배이상이 되며 그 금액은 207892817원입니다. 참고풀이] name=input("이름을 입력하시오 : ") StartMoney=int(input("초기 저축액을 입력하시오 : ")) Now=int(input("올해의 년도를 입력하시오 :.. 2022. 8. 26.
Python 84제] 어파처 p169 도전문제 출처 : 반크_세계유산 창덕궁 참고풀이] rate=float(input("현재 이자율을 입력하시오 : ")) year=0 balance=1000 while balance 2022. 8. 26.
Python 83] 어파처 p168 응용문제 출처 : 반크_세계유산 창덕궁 문제] 구구단을 아래와 같이 출력하는 프로그램을 작성하시오. 출력 예) 참고풀이] start=-2 End=2 for i in range(2): start+=4; End+=4 #단 출력부분 for Dan in range(start,End): print("=== %d 단 ===\t"%Dan,end="") print("\n") #각 단의 1~9까지 출력하는 부분 j=0 while j 2022. 8. 19.
Python 82제] 어파처 p168 도전문제 출처 : 반크_세계유산 창덕궁 문제] 구구단의 단을 입력하면 그 단을 출력하는 프로그램을 작성하시오. 출력 예) 어떤 단을 출력할까요? 9 == 9 단 == 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81 참고풀이] N=int(input("어떤 단을 출력할까요? ")) print("== %d 단 =="%N) i=0 while i 2022. 8. 19.
Python 81] 이자율을 입력하여 투자금이 2배가 되는 기간과 금액 구하기 출처 : 반크_세계유산 창덕궁 문제] 원금 1000만원을 은행에 저금하고 이자율을 입력하여 투자금이 두 배가 되는 기간과 금액을 구하는 프로그램을 작성하시오. 단, 이자율은 실수 또는 몇%라 입력된다. 출력 예1) 이자율을 입력하시오 : 0.05 원금 10,000,000원의 두 배 이상이 되는 기간은 15년이고, 20789281원입니다. 출력 예2) 이자율을 입력하시오 : 4.5% 원금 10,000,000원의 두 배 이상이 되는 기간은 16년이고, 20223701원입니다. 참고풀이] #1000만원을 은행에 저금하고 이자율이 ?%이면, 몇 년이 지나야 원금의 두 배가 될까? year=0 balance=10000000 rate=input("이자율을 입력하시오 : ") if rate[-1]=="%": irat.. 2022. 8. 12.
Python 80제] 1~10까지의 제곱값을 출력하고 그 합을 구하시오. 출처 : 반크_세계유산 창덕궁 문제] 1~10까지의 제곱값을 출력하고 그 합을 구하는 프로그램을 lambda(), reduce(), range()를 활용하여 작성하시오. 참고풀이] #reduce from functools import reduce def doSum(a,b): return a+b #1~10까지 제곱값을 출력하고 그 합을 구하시오. #단, lambda(), reduce(), range()를 사용하시오. L=list(map(lambda x:x**2,range(1,11))) Sum=reduce(doSum,L) #결과출력 print("1~10까지 제곱값들]") for d in L: if d==L[len(L)-1]: print("%d"%d) else: print("%d"%d,end=', ') pri.. 2022. 6. 1.
Python 79제] 1부터 입력 수 N 중 3의 배수를 출력하고 곱을 구하시오. 출처 : 반크_세계유산 창덕궁 문제] 1~입력 수 N 중 3의 배수를 출력하고 그 곱을 구하는 프로그램을 reduce(), range()를 활용하여 작성하시오. 조건) 1. 입력 수 N은 10 2022. 5. 27.
Python 78제] 1~100사이 중 3의 배수를 출력하고 합을 구하시오. 출처] 반크_세계유산 창덕궁 문제] 1~100 사이 중 3의 배수를 출력하고 합을 구하는 프로그램을 lambda(), reduce(), range()를 활용하여 작성하시오.(단, 3의 배수를 출력할 때 한 줄에 10개씩 출력하시오.) 참고풀이] #reduce() from functools import reduce def doSum(a,b): return a+b #range()로 1~100까지의 값을 산출하고 lambda()로 3의 배수 값들을 리스트에 저장한다. L=list(filter(lambda x:x%3==0,range(1,101))) #추출된 3의 배수 값들의 합을 구한다. Sum=reduce(doSum,L) #결과출력 cnt=0 for d in L: cnt+=1 if cnt%10==0: prin.. 2022. 5. 26.
Python 77제] 2021년 한국정보올림피아드 1차대회 2교시 고등부 1번 야구 시즌 출처 : 반크_세계유산 석굴암 문제] KOI 야구 리그에는 N개의 지역리그가 존재하고 각 지역리그에는 M개의 팀이 존재해서, 리그 전체로 N × M개의 팀으로 운영되고 있다. 한 시즌에 각 팀은 같은 지역리그 팀뿐만 아니라 다른 지역리그 팀과도 경기를 해야 한다. 같은 지역리그 팀과의 팀당 경기 수는 A로 같은 지역리그 팀들에 대해서 모두 동일하다. 즉, 한 팀 X는 같은 지역리그에 있는 모든 팀 Y (6= X)와 각각 A번의 경기를 한다. 또한 다른 지역리그 팀과의 팀당 경기 수는 B로 다른 지역리그 팀들에 대해서 모두 동일하다. 즉, 한 팀 X는 다른 지역리그에 있는 모든 팀 Z(6= X)와 각각 B번의 경기를 한다. 단, A와 B는 A = k × B (k는 1 이상의 정수)를 만족해야 한다. 세계적.. 2022. 5. 16.
Python 76제] 날짜입력하면 요일구하기 출처 : 반크_세계유산 석굴암 문제] 날짜를 입력하면 요일을 구하는 프로그램을 작성하시오. 단, 라이브러리 함수 사용하지 않고 작성하시오. 1970-01-01은 목요일입니다. 참고풀이] #날짜함수 없이 요일구하기 Months=[0,31,28,31,30,31,30,31,31,30,31,30,31] Week="월화수목금토일" #년월일을 입력받는다. y,m,d=map(int, input("년-월-일을 입력하시오(예:2022-5-13) : ").split('-')) #1970-1-1(목요일) yoil=2 #입력한 날짜를 총 일수를 구한다. days=(y-1970) if m>1: for i in range(1,m): days+=Months[i] days+=d #윤년을 총 일수에 추가한다. for i in rang.. 2022. 5. 13.
Python 75제] 년월일 입력하면 요일을 출력하기. 출처 : 반크_세계유산 석굴암 문제] ▶ 년-월-일을 입력받는다. ▶ 입력한 날짜의 요일을 출력한다. 참고풀이1] from datetime import datetime DateDic={0:"월요일",1:"화요일",2:"수요일",3:"목요일",4:"금요일",5:"토요일",6:"일요일"} y, m, d=map(int, input("년-월-일을 입력하시오(예:2022-5-13) : ").split('-')) w=datetime(y,m,d).weekday() print(f"{y}년 {m}월 {d}일은 {DateDic[w]}입니다.") 참고풀이 결과1] 참고풀이2] from datetime import datetime WeekDays="월화수목금토일" y, m, d=map(int, input("년-월-일을 입력하.. 2022. 5. 13.
Python 74제] 숫자 맞추기 게임을 만드시오.(Ver 1) 출처 : 반크_세계유산 석굴암 문제] 1~13사이의 숫자를 컴퓨터가 발생하면 맞추는 게임을 프로그램으로 작성하시오. 조건) ▶ 1~13 이외의 수가 입력되면 에러메세지를 출력하고 다시 입력하도록 하시오. ▶ 숫자 이외의 문자열이 입력되면 에러메세지를 출력하고 다시 입력하도록 하시오. ▶ 사용자가 입력한 수가 높으면 입력한 숫자가 크다고 출력하시오. ▶ 사용자가 입력한 수가 작으면 작다고 출력하시오. ▶ 사용자가 숫자를 맞추면 몇 번 회차에 맞추었다고 출력하시오. ▶ 게임을 계속할 지 여부를 체크하시오. ▶ 게임의 수가 3회를 넘으면 게임을 절제할 수 있도록 메세지를 출력하시오. ▶ 게임이 끝나면 "적당한 게임은 일의 능률을 극대화 시켜줍니다."를 출력하시오. ▶ 게임이 끝나면 수고하였다는 메세지와 함께 .. 2022. 5. 4.
반응형