본문 바로가기

구현63

[ 엘리스 SW 엔지니어 트랙 ] 70일차 TL;DR 📍 70일 차 1.29. 토. 프로젝트 5일 차 TL;DR firebase로 간단하게 작은 사이즈의 프로토타입을 만들 때 빠르고 쉽게 사용할 수 있는 좋은 스택이지만, 현업에서는 MERN 스택도 사용하는 곳이 많다. 공부하는 입장에서 MERN 스택을 사용한다면 백과 프론트의 전반적인 흐름도 알 수 있고, web framework를 사용하게 될 상황도 많고, 확장성측에서도 MERN 사용하는 것을 추천한다. 회원 인증, 권한 구현 할 때 cookie를 사용하면 미들웨어에 무조건 cookie-parser를 설치하자.. 이것때문에 2시간 고생함.. 프런트에서 API를 가져다 사용할 경우. 만약에 API가 에러가 나서 정상적인 data를 가져오지 못할 때는 어떻게 처리할 것인가? 404페이지로 이동시킬 수도 있지.. 2022. 1. 29.
[ 파이썬(python) ] 백준 10709 - 기상캐스터 📍 백준 10709 - 기상캐스터 백준 10709 - 기상캐스터 ⚡️ 나의 풀이 시뮬레이션 문제였는데, 구름이 움직일때의 로직을 어떻게 짜는냐가 중요한 문제였다. 내가 작성한 코드는 다른 코드에 비해 길이도 많았고, 실행시간도 100m/s정도 차이가 났다. 다시보니까 반복문을 많이 사용해서 그런것 같다. 나의 풀이방법은 다음과 같다. 입력에 구름이 있는지 없는지를 판단하여 boolean값을 리턴한다. 구름이 한개라도 존재하는 경우 현재 sky좌표가 c이고 다음 칸을 방문하지 않았다면 cnt를 하나씩 증가시킨다. (종료조건: cnt가 W보다 커질 때) 다른사람의 풀이순서는 입력의 각 row를 기준으로 풀었는데, 생각해보면 문제에서 열끼리는 고려하지 않고 행을 기준으로만 풀기때문에 여기서 코드를 간단하게 사.. 2021. 7. 21.
[ 파이썬(python) ] 백준 10813 - 공 바꾸기 📍 백준 10813 - 공 바꾸기 백준 10813 - 공 바꾸기 ⚡️ 나의 풀이 입력으로 들어온 값을 baskets의 index를 바꿔주면 된다. 팁은 lambda 함수를 통해 입력으로 들어올 때 공통으로 원하는 값을 빼줄 수 있다. (참고) n, m = map(int, input().split()) baskets = [i for i in range(1, n+1)] for _ in range(m): a, b = map(lambda x: int(x)-1, input().split()) baskets[a], baskets[b] = baskets[b], baskets[a] print(*baskets) 2021. 7. 19.
[ 파이썬(python) ] 백준 10804 - 카드 역배치 📍 백준 10804 - 카드 역배치 백준 10804 - 카드 역배치 ⚡️ 나의 풀이 카드를 0부터 20까지 선언한다 (0을 추가한 이유는 index를 편하게 계산하기 위해서) 카드 뒤바꿀 범위를 입력 받는다. 새로운 변수에 카드를 뒤바꿀 위치만 [::-1] 선언하고 뒤바꾸지 않는 범위는 그대로 붙인다. (slicing의 특징은 end 범위는 포함하지 않는 것이다.) 새로운 변수를 이전 변수에 덮어씌운다. 반복 ~ 마지막에는 맨 처음 값을 제외하고 나머지 값만 출력한다. arr = [i for i in range(0, 21)] for _ in range(10): a, b = map(int, input().split()) b += 1 arr_ = arr[:a] + arr[a: b][::-1] + arr[b:.. 2021. 7. 18.
[ 파이썬(python) ] 백준 18110 - solved.ac 📍 백준 18110 - solved.ac 백준 18110 - solved.ac 💡 나의 풀이 단순 round 함수로만 풀었더니 오답판정이 나온 문제였다. 난이도가 딱히 어렵지 않은데 왜 실버 4인가 했더니 부동소수점을 이해하고 있어야만 문제를 풀 수 있어서였다. 절사평균과 반올림에 관해 작성한 이전글을 보면 조금이나마 이해 할 수 있다. 의견이 없는 경우와 있는 경우로 나누어 푼다. 없는 경우는 print(0)을 출력한다. 있는 경우는 절사평균 -> 정렬 -> 슬라이싱의 과정을 거친다. 이때, round 함수는 사사오입 반올림이 적용되게 만든다. # 나의 코드 import sys input = sys.stdin.readline def round2(num): return int(num) + (1 if nu.. 2021. 7. 13.