Github Action을 이용해서 우리 지금까지 만든 프로젝트를 자동배포했다. 내가 한건 없고 팀장님께서 맡아서 모두 해주셨다. 그저 빛... 나는 AWS강의 듣는것도 버거워서 허우적대고 있는데 자동배포까지 다 해결하시다니 정말 대단하다는 생각이 들었다. 나도 이번 주말동안 AWS를 다시 한번 싹 정리를 해야겠다.
✔오늘한 일
- 프로젝트
- 메인페이지 분리 완료
- 재료 선택하면 바로 레시피 바로 볼수 있도록 레시피 검색방법 변경
- 레시피 검색 탭 생성
- Github Action을 이용한 자동배포
- 알고리즘 공부
- 주간테스트 답지 리뷰(대체 언제까지,,,)
알고리즘을 풀다가 처음보는 함수가 나와서 당황했다. 그것은 바로 sys.stdin.readline()이다. input()대신에 이 함수를 사용해서 값을 입력하라는데... 무엇인지 한번 알아보자
sys.stdin.readline() 그것은 대체 무엇인가...
내가 알아본 바로는 input과 동일한 기능을 하지만 더 빠른 일처리 속도를 갖고 있어 백준과 같은 알고리즘 문제에서 input을 썼을때 시간초과로 오답처리되는 것을 방지해준다.
input() VS sys.stdin.readline() 무엇이 서로 다를까?
input()에는 파라미터로 prompt message를 받을 수 있지만, 따라서 입력받기 전에 prompt message를 출력하는 과정을 거친다. 하지만 sys.stdin.readline()은 prompt message를 받지 않아 더 빨리 처리 할 수 있다.
또, input()은 개행문자<\n>을 삭제해서 보여주는 처리를 거치지만, sys.stdin.readline()은 개행문자를 그대로 출력하여 보여주기 때문에 속도가 더 빠르다고 할 수 있다.
결론
input보다 sys.stdin.readline가 더 처리속도가 빠르다.
sys.stdin.readline()는 그러면 어떻게 쓸까?
백준 문제를 풀어보며 알아보자.
import sys
T = int(sys.stdin.readline())
for i in range(t):
a, b = map(int, sys.stdin.readline().split())
print(a+b)
// 입력: 5 1, 1 2, 3 3, 4 9, 8 5, 2
// 출력: 2, 5, 7, 17 7
이때 map함수는 리스트 또는 튜플을 지정된 함수로 처리해주는 역할을 합니다. 출력은 오브젝트 형식으로 출력되며 대게 리스트 또는 튜플로 변환하여 사용합니다.
i = [1,2.2,3.1,4]
i = list(map(int, i))
print(i)
// 1, 2, 3, 4
기본 지식이 많이 부족하다고 느꼈다. 모르는 부분이 나와도 어느정도 개념하고 흐름은 알고있어야할거같은데, 전혀 이해가 되질 않으니.. 특히 인프라부분은 강의까지 들었는데 먼나라 이야기 듣는 기분이다. 절치부심의 심정으로 다시한번 공부해서 내꺼로 만들어야겠다.
3차때 클라우드는 다같이 해봅시다! 나름 재밌어요 ㅋㅋ!!! 한주동안 프로젝트 + 공부 하시느라 고생 많으셨습니다 !!