본문 바로가기

프로그래밍8

파이썬 백준 2828번 사과 담기 게임 풀이 과정 N,M=map(int,input().split()) number=int(input()) x=1 y=M nx=0 ny=0 count=0 for i in range(number): new_apple=int(input()) if new_apple>=x and y>=new_apple: continue elif new_apple > y: count+=new_apple-y nx=x+(new_apple-y) ny=y+new_apple-y x=nx y=ny elif new_apple < x: count+=x-new_apple nx=x-(x-new_apple) ny=y-(x-new_apple) x=nx y=ny print(count) - 바구니를 x,y로 둔다. 이 범위를 벗어나면 바구니가 이동하도록 구현한다.. 2021. 2. 23.
파이썬 백준 8393번 수학 합 8393번: 합 (acmicpc.net) 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 위와 같이 1+....+n까지의 합을 구하도록 의미한다. 과거 고등학교 수학에서 배웠듯이 n*(n+1)/2로 나타낼 수 있다. ​ 풀이 과정 우선 최근 공부하고 있던 for문에 대해 활용하고자 하였다. z=int(input()) n=range(1,z+1) b=0 for a in n: b+=a if a==z: print(b) z=int(input()) # 기본 입력 인자를 받음. 숫자 입력 시 int type으로 출력 됨. n=range(1,z+1) # for문에서 쓰일 예정. range에서 max값(2번째 index)은 -1이 되니, +1을 해준다. .. 2021. 2. 16.
파이썬 백준 2742번 제문 는하력출 지까N 터부1 https://www.acmicpc.net/problem/2742 2742번: 기찍 N 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 문제 풀이 문제 풀이 1 - Range 함수 이용하기 ​ N에서 부터 1까지 어떻게 역순으로 나열할 수 있을 것인지에 대한 문제이다. ​ Point 1: 반복되는 작업을 하는 내용이므로, for문이 사용될 수 있다. Point 2: 다만, for문이 사용되면 범위를 어떻게 잡아야 N부터 나열될 수 있을 것인가? ​ 기본적으로 for문 iterator에 자주 쓰이는 range 함수를 사용하기로 하였다. impo.. 2021. 2. 12.
파이썬 백준 2438번 별 찍기 - 1 https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 문제 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 문제 설명 별 개수를, 입력 횟수만큼 하나씩 늘려가면서 맞춰서 출력하면 된다. ​ 풀이 과정 Point 1: for문이 돌 때, '한번에' 횟수만큼 별을 찍어줘야 한다. for문 각각마다 어떻게 한번에 별을 많이 찍을지 고민을 좀 하다가, 문자열도 곱셈이 가능하다는 점에 착안하였다. import sys N=int(sys.stdin.readline()) for i in range(1,N+1): print("*"*i) .. 2021. 2. 12.