일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Algorithm
- Basic
- 재귀
- Tutorial
- 파이썬
- Unreal Engine 5
- Class
- github
- String
- loop
- c++
- dynamic
- W3Schools
- DP
- 오류
- 프로그래밍
- 시작해요 언리얼 2022
- 기초
- python
- Unity
- guide
- 백준
- parameter
- w3school
- C#
- 문제풀이
- UE5
- dfs
- Programming
- Material
- Today
- Total
목록Algorithm (107)
행복한 개구리

a, b = map(int, input().split()) print(a + b) 첫 줄에서 a, b를 동시에 입력받습니다. map의 첫 번째 매개변수로 입력받을 데이터타입을 정해주고 두 번째 두번째 매개변수에는 한 줄에 입력받은 값을 공백에 따라 나눠주는 split메서드를 사용해줍니다. 더해주면 됩니다.

n = int(input()) result = 0 while n >= 0: if n % 5 == 0: result += (n // 5) print(result) break n -= 3 result += 1 else: print(-1) 우선 5kg주머니로 담는게 주머니 수를 줄이는데 효과적이므로 분기를 먼저 작성해줍니다. 분기의 조건 (n % 5)인 이유는 앞서 말했듯 5kg주머니를 많이 사용하는 것이 효과적이므로 5로 나눌 수 있는 n의 가장 큰 수를 찾기 위함입니다. 하지만 5로 나누어지지 않는다며 3씩 빼며 주머니를 1씩 추가합니다. 3씩 빼다보면 n이 5에 나누어질수도 아닐수도 있는데, 5에 나누어질 경우엔 if문의 print에서 주머니 갯수가 출력될 것이고 5에 나누어지지 않을때 (1). 3으로 ..

import sys t = int(input()) for _ in range(t): k = int(input()) n = int(input()) people = [x for x in range(1,n+1)] for i in range(k): for j in range(1, n): people[j] += people[j-1] print(people[-1]) 2층 1 4 10 20 1층 1 3 6 10 0층 1 2 3 4 우선 인구수는 위 표와 같이 진행됩니다. 여기서 봐야할 부분은 "k층의 n호의 인구수 = (k층의 n-1호의 인구수 + k-1층의 n호의 인구수)" 라는 점과 "k층의 n-1호의 인구수 = (k-1층의 1호부터 n-1호까지의 인구를 합한 값)"과 같다는 점입니다. 우선 0층의 인구상황을 리..

import sys import math t = int(sys.stdin.readline()) for _ in range(0, T): h, w, n = map(int, sys.stdin.readline().split()) roomNumber = math.ceil(n/h) if n%h == 0: floor = h else: floor = n%h print(str(floor) + str(roomNumber).zfill(2)) 우선 연산속도를 줄이기 위한 sys모듈과 ceil(소수점 올림처리)을 사용하기 위해 임포트해줍니다. 그리고 연산을 몇 회 돌릴건지 입력받기 위한 t를 작성하고 t만큼 실행할 수 있도록 반복문을 작성해줍니다. 반복문 내에서는 문제의 내용을 작성해줍니다. 우선 높이(h), 너비(w), 손님..

import sys import math a, b, v = map(int, sys.stdin.readline().split()) day = (v - b) / (a - b) print (math.ceil(day)) 처음에는 while 반복문으로 작성했다가 시간 초과가 나와서 틀렸습니다. 우선 달팽이는 정상에 도달하면 더 이상 미끄러지지 않기 때문에 막대기의 높이(v) - 미끄러지는 높이(b)를 해주었습니다. 이러면 달팽이가 정상에 도착했을 때 더 이상 미끄러지지 않습니다. 그 후에 (v - b)를 하루 동안 올라갈 수 있는 높이(a - b)로 나누어주면 올라가는데 소요되는 날들이 계산됩니다. 두 번째로는 구해진 날들은 소수점이 존재하는 형태로 출력되는데, 이 것을 int로 형변환시킨다면 소수점을 버리게 되..

X = int(input()) layer = 0 while X>layer: X-=layer layer+=1 if layer % 2 == 0: numerator=X denominator=layer-X+1 else: numerator = layer-X+1 denominator = X result = str(numerator)+"/"+str(denominator) print(result) 줄의 블록 수는 공차가 1인 등차수열로 증가합니다. 그리고 짝수 줄의 시작은 분모가 크고 분자가 작은 진분수이며 홀수 줄의 시작은 분모가 작고 분자가 큰 가분수입니다. n번째 줄의 블록 수는 n + 1의 값을 가집니다. 우선 몇 번째 layer인지 알아야하기 때문에 줄을 구하는 식을 먼저 세워줍니다. while반복문을 사용하..