내일배움캠프 29일차 개발일지

김광훈·2021년 10월 14일
1

TIL(Today I Learned)

목록 보기
22/49

자동배포!

Github Action을 이용해서 우리 지금까지 만든 프로젝트를 자동배포했다. 내가 한건 없고 팀장님께서 맡아서 모두 해주셨다. 그저 빛... 나는 AWS강의 듣는것도 버거워서 허우적대고 있는데 자동배포까지 다 해결하시다니 정말 대단하다는 생각이 들었다. 나도 이번 주말동안 AWS를 다시 한번 싹 정리를 해야겠다.

✔오늘한 일

  • 프로젝트
    • 메인페이지 분리 완료
    • 재료 선택하면 바로 레시피 바로 볼수 있도록 레시피 검색방법 변경
    • 레시피 검색 탭 생성
    • Github Action을 이용한 자동배포
  • 알고리즘 공부
  • 주간테스트 답지 리뷰(대체 언제까지,,,)

input() VS sys.stdin.readline()

알고리즘을 풀다가 처음보는 함수가 나와서 당황했다. 그것은 바로 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

✔생각 정리

기본 지식이 많이 부족하다고 느꼈다. 모르는 부분이 나와도 어느정도 개념하고 흐름은 알고있어야할거같은데, 전혀 이해가 되질 않으니.. 특히 인프라부분은 강의까지 들었는데 먼나라 이야기 듣는 기분이다. 절치부심의 심정으로 다시한번 공부해서 내꺼로 만들어야겠다.

  • 프로젝트 오류발생 막아놓기
  • 프로젝트 마무리 다듬기 작업 시작!
  • AWS강의 슬슬 시작하자 전체적인 흐름 위주! 그리고 실습!
profile
잘 부탁드려요

1개의 댓글

comment-user-thumbnail
2021년 10월 15일

3차때 클라우드는 다같이 해봅시다! 나름 재밌어요 ㅋㅋ!!! 한주동안 프로젝트 + 공부 하시느라 고생 많으셨습니다 !!

답글 달기