반응형
스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차
2022.09.02. 5일차 - TIL
1. 백준알고리즘(using python)
오늘은 조건문 단계를 풀었다. 마지막 2문제가 헷갈렸으므로 회고해보려 한다.
import sys
current_time = list(map(int, input().split()))
cooking_time = int(input())
if current_time[0] < 0 or current_time[0] > 23 or current_time[1] < 0 or current_time[1] > 59:
print("입력 오류")
sys.exit(0)
if cooking_time < 0 or cooking_time > 1000:
print("입력 오류")
sys.exit(0)
timer = [0, 0]
hr = cooking_time // 60 #시 변환
m = cooking_time - hr*60 #분 변환
timer[0] = current_time[0]+hr
timer[1] = current_time[1]+m
if timer[1] >= 60: #분이 60보다 크거나 같은 경우
timer[0] += 1
timer[1] -= 60
if timer[0] >= 24:
timer[0] = timer[0] - 24
else: #분이 60보다 작은 경우
if timer[0] >= 24:
timer[0] = timer[0] - 24
print(timer[0], timer[1])
- sys.exit(0) : 파이썬에서 return 0과 같은 의미
- Missing whitespace around operator(E225), (E226) : 연산자 주위에 공백이 누락되었음을 의미 -> 결과에 지장은 없다
- PEP8 E501 : line too long error : 파이썬 프로그램에 대해 80열 규칙 이하로 유지할 것을 제안해 긴 문자열은 분리해서 저장
import sys
dice = list(map(int, input().split()))
for num in dice:
if num <= 0 or num > 6:
print("입력 오류")
sys.exit(0)
total = 0
x = [] #처음 등장한 값인지 판별하는 리스트
new_a = [] #중복된 원소만 넣는 리스트
for i in dice:
if i not in x: #처음 등장한 원소
x.append(i)
else:
if i not in new_a: #이미 중복 원소로 판정된 경우 제외
new_a.append(i)
if len(x) == 3: #모두 다를 경우
total = max(x)*100
elif len(x) == 2: #2개 중복
total = 1000+100*new_a[0]
else: #3개 중복
total = 10000+1000*new_a[0]
print(total)
- max() : 리스트에서 가장 큰 요소를 찾아내 리턴(반대로 min도 존재)
2. 후기
알고리즘 문제 풀이로 알게 된 것은 내가 코드를 좀 복잡하게 짠다는 것이다. 이러한 문제들을 만났을 때 나는 먼저 이 문제를 사람이 어떻게 풀지를 먼저 생각해 이 사고의 순서가 코드에 그대로 담겨져 버리는 것 같다. 처음에는 별거 아니라고 생각했는데 최근 개발을 잘 하시는 분들이 코드를 효율적으로 짜는 법, 더 간결하게 짜는 법을 공부하고 있으시다는 것을 알기 때문에 문제 풀이 과정을 곰곰이 생각해보고 마지막에 해당 코드를 어떻게 간결화시킬 수 있는지 생각해보는 시간을 가져야겠다. 그리고 오늘 느낀점은 나는 역시 알고리즘 문제풀이보다 실전 개발을 더 재미있어 한다는 것이다.(물론 팀플은 여전히 힘들지만...ㅠㅜ 그래도 뭔가 복닥복닥해서 '우리가 뭔가 하고 있어!' 라는 느낌이랄까...)
반응형
'개발일지 > AI 캠프' 카테고리의 다른 글
내일배움캠프 AI - 6일차 TIL, 2022.09.05 (0) | 2022.09.06 |
---|---|
내일배움캠프 AI - 1주차 WIL (1) | 2022.09.04 |
내일배움캠프 AI - 4일차 TIL, 2022.09.01 (0) | 2022.09.02 |
A2조 - KPT 회고 (0) | 2022.09.01 |
내일배움캠프 AI - 3일차 TIL, 2022.08.31 (0) | 2022.09.01 |