8월 14일부터 9월 10일까지 4주간 오전 10시마다 공개되는 알고리즘 문제를 푸는 챌린지
이후 선발을 통해 9월 23일에 오프라인 팀 챌린지 진행
오프라인 팀 챌린지는 50명으로 블록이 같으면 추첨을 통해 선발한다고 한다.
오프라인 팀 챌린지는 굿즈로 티셔츠와 스티커를 준다고 하니까 꼭 참여 해보도록 하자!
import sys
input = sys.stdin.readline
w, r = map(int, input().rstrip().split())
print(int(w*(1+r/30)))
1일차 문제로 간단한 수학문제가 나왔다. 소수점이하의 값은 int형 변환으로 간단하게 해결
import sys
input = sys.stdin.readline
n = int(input().rstrip())
t, m = map(int, input().rstrip().split())
# 기능 개발 시간 입력
for _ in range(n):
m += int(input().rstrip())
# 분으로 변환
min_sum = ((t*60)+m)
print("{} {}".format((min_sum//60)%24, min_sum%60))
모든 시간을 더해 분으로 변환 후, 나누기 60분, 24시간으로 나눈 나머지가 시간, 60으로 나눈 나머지가 분이된다.
정답 제공 코드
N = int(input())
T, M = map(int, input().split())
c = [int(input()) for _ in range(N)]
time = (T * 60 + M + sum(c)) % 1440
hour = time // 60
minute = time % 60
print(hour, minute)
정답 제공 코드에는 분으로 변환 후 하루가 1440분이니까 나눈 나머지가 0~1439분, 즉 하루 이내 범위만 출력된다. 정말 직관적인 코드이다.
import sys
input = sys.stdin.readline
t = int(input().rstrip())
total = 0
def calculator(operator,a,b):
if operator == '+':
return a+b
elif operator == '-':
return a-b
elif operator == '*':
return a*b
elif operator == '/':
return a//b
for _ in range(t):
str = input().split()
a = int(str[0])
b = int(str[2])
operator = str[1]
total += calculator(operator, a, b)
print(total)
계산기 함수를 생성해 해당 문자에 해당하는 연산을 반환
정답 제공 코드도 비슷하니 생략.
첫 주는 가벼운 문제로 시작해서 딱히 어려움이 없었다. 점차 난이도가 올라가는 문제가 나올것이다.
유익한 자료 감사합니다.