격자, python 시간복잡도, 커피챗 질문 적어보기

0

알고리즘

목록 보기
19/21

격자 알고리즘

https://school.programmers.co.kr/learn/courses/30/lessons/250125

def solution(board, h, w):
    n = len(board)
    count = 0
    dh, dw = [0, 1, -1, 0], [1, 0, 0, -1]
    for i in range(4):
        h_check = h + dh[i]
        w_check = w + dw[i]
        if 0 <= h_check < n and 0 <= w_check < n:
            if board[h_check][w_check] == board[h][w]:
                count += 1
    return count

보통 위와 같은 흐름으로 기억하는데, 맛있는 코드가 있어서 아래에 첨부한다.

python 시간복잡도

  • 통과한 코드
def solution(ingredient):
    answer = 0
    temp = []
    for i in ingredient:
        temp.append(i)
        if temp[-4:] == [1,2,3,1]:
            temp.pop()
            temp.pop()
            temp.pop()
            temp.pop()
            answer += 1
    return answer
  • 시간이 오래 걸린 코드
def solution(ingredient):
    before = len(ingredient)
    ingredient = ''.join(map(lambda x:str(x), ingredient))
    while '1231' in ingredient:
        ingredient = ingredient.replace('1231','', 1)
    after = len(ingredient)
    return (before - after) // 4
  • 시간이 더 오래 걸린 코드
def solution(ingredient):
    answer = 0
    temp = ''
    for i in ingredient:
        temp += str(i)
        if '1231' in temp:
            answer += 1
            temp = temp[:-4]
    return answer

커피챗 질문 적어보기

나의 배경

백엔드로서 나의 역량: django로 api작성 // 끝

약하다고 생각하는 역량

  • 인증인가
    (+session, jwt, oauth 적용과 이해) (현재는 jwt를 어거지로 쓰는 느낌)

해본 것

  • ec2, s3, rds 연동
  • javascript 프론트에 적용

지금 하고 있는 것

  • 디자이너, 프론트 개발자를 충원한 프로젝트(매주 목요일 진행)
  • 프로그래머스 lv1
  • 매주 수요일마다 동료들과 세션
  • 기업 지원

'~~ 해보면 어떨까요?'

240716 현직자 커피챗

이력서

한 눈에 파악할 수 있어야 한다.
어떤 프로젝트를 어떤 기술을 써서 했는지가 드러나야한다.

기술과 환경을 한 눈에 보기 힘들다.
훨씬 더 간결하게 쓰는 것이 좋다.
개요, ..., 트러블슈팅

소제목을 잘 나눠놓으면 잘 찾아볼 수 있다.
환경, 스킬을 확실히 쓰는 게 좋다.
백엔드에서 어떤 걸 개발했는지 드러내는 게 좋다.

교육도 넣어서 내일배움캠프 넣으면 좋을 것 같다.
없으면 독학한 것 같아 보인다.

중퇴
개발자는 실력이 중요하지만
4년제 대학을 나오는 게 기본상
평범한 이력서를 만드는 데 도움이 된다.
다시 생각해볼 수 있다면
사이버대락 졸업도 고려해봤으면 좋겠다.
긴 계획이겠지만.

백엔드 개발을 python 중심으로 한 게 아쉽다.

백엔드 개발자라고 한다면 python을 선택하는 경우는 거의 없다.
기업에서 python 백엔드 개발자는 본 적이 없는 것 같다.

확실히 비주류이다.
java로 개발을 많이 하고
간간히 node.js를 뽑는다.
결국에는 java, node.js 등 다 알아야한다.
지금 생각할 필요는 없지만.

현재 나의 이력서가 여러모로 아쉽다.

이력서의 가독성을 빼두더라도, 백엔드로 지원하는데 python을 써놓은 점.

어려운 루트를 가는 것 같다.

중퇴가 좋지 않다.
그래도 사회는 4년제 졸업을 기본이라고 생각하고, 4년제 전공자만 뽑거나

  1. 이력서가독성
  2. python 백엔드라는 점
  3. 중퇴
    이 세가지가 아쉽다.

이력서는 수정하면 된다.
학업 다시 해보시는 걸 추천한다.

python이 제일 아쉽다.
언어변경을하면 프레임워크가 제일 힘들다.
자바 스프링으로 노선을 바꾸는 게 좋다.

힘들 거다.
어느 정도 수준으로 가야하냐면
자바, 스프링으로 지금 프로젝트를 옮겨가는 정도가 되어야한다.

공부가 부족하다.
지금 개발자를 준비하는 사람들은 비슷하다.

모든 분들에게 똑같은 말을 한다.
공부할 게 많고, ~~
그럼에도 해야한다.
개발자를 하고싶다면.
끝도 안보이는데, 그래도 해야
하루하루 한 것들이 쌓여서 보상을 받는다.

포기하는 분들이 많은데, 기초부터, 중요하다고 생각하는 것부터

인증인가를 이해하기 위해서 선행지식이 많다.
예를 들면 session을 검색했는데, 링크타고 링크타고
올라왔더니 ~~
엄청 반복할 것이다.

시간이 오래 지나면
내가 모르는 사전 지식이 줄어듦을 느낀다.

질문 보고 생각한 것은
공부를 많이 하셔야겠다는 생각이 들었다.

지금 하고 있는 것
긍정적이다.

  1. 이력서
  2. 자바로 갈아타기
  3. 학력
  4. 공부는 힘들겠지만 포기하지말고 꾸준히
  5. 계획은 좋습니다.

몇개월 안으로 좋은 기회가 있을거라고 생각한다.


실제 현업은 어떤가

회사 규모 , 팀.. 마다 다를 텐데

10개의 프로젝트가 있다면 1개 정도
20~30개의 프로젝트 중에
20~30명 중에
새로운 프로젝트 했다고하는 사람은 거의 없다.

대부분의 일이 유지보수이다.
유지보수가 포함하는 일이란
기능의 추가
(RESTAPI를 추가)
API문서를 쓰고 프론트 협의하고, 개발하고, 테스트하고, 배포하고, DB를 수정하고, 서버 세팅도 하고, 자동화를 다시 구성하고.

기능은 어떤 기능을 개발하냐면
서비스가 어떤 서비스냐에 따라 다르다.

실제로 고객들에게 서비스되고 있는 것을 다룬다는 것을 빼면 다를 것이

0개의 댓글