[구름톤 챌린지] 블로그학습일기 1주차(1)

ego2·2023년 8월 17일
0

구름톤 챌린지

목록 보기
1/6
post-thumbnail

📌 구름톤 챌린지란?

8월 14일부터 9월 10일까지 4주간 오전 10시마다 공개되는 알고리즘 문제를 푸는 챌린지

이후 선발을 통해 9월 23일에 오프라인 팀 챌린지 진행

오프라인 팀 챌린지는 50명으로 블록이 같으면 추첨을 통해 선발한다고 한다.

오프라인 팀 챌린지는 굿즈로 티셔츠와 스티커를 준다고 하니까 꼭 참여 해보도록 하자!

1일차 : 운동 중독 플레이어

import sys

input = sys.stdin.readline
w, r = map(int, input().rstrip().split())
print(int(w*(1+r/30)))

1일차 문제로 간단한 수학문제가 나왔다. 소수점이하의 값은 int형 변환으로 간단하게 해결

2일차 : 프로젝트 매니징

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분, 즉 하루 이내 범위만 출력된다. 정말 직관적인 코드이다.

3일차 : 합 계산기

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)

계산기 함수를 생성해 해당 문자에 해당하는 연산을 반환
정답 제공 코드도 비슷하니 생략.

첫 주는 가벼운 문제로 시작해서 딱히 어려움이 없었다. 점차 난이도가 올라가는 문제가 나올것이다.

profile
고민의 흔적들을 기록하는 공간입니다.

2개의 댓글

comment-user-thumbnail
2023년 8월 17일

유익한 자료 감사합니다.

1개의 답글