전체 글 144

[Programmers / Python 풀이] 완주하지 못한 선수

def solution(participant, completion): answer = '' dic = {} for i in participant: if i in dic: dic[i] += 1 else: dic[i] = 1 for j in completion: if j in dic: dic[j] -= 1 for i, j in dic.items(): if j == 1: answer = i return answer 효율성 따지지 않고 마구잡이로 푼 방식.. dictionary의 카운트 방식을 통해 마지막 남은 1명을 잡아내는 방식이다. 다른 사람들의 방식을 몇가지 알아보자면 1. 정렬을 통한 방식 def solution(participant, completion): participant.sort() compl..

Programmers 2023.01.03

[Programmers / Python 풀이] 주식가격

def solution(prices): answer = [] for i in range(len(prices)): cnt = 0 for j in range(i+1, len(prices)): if prices[i] prices[j]: cnt += 1 break answer.append(cnt) return answer 문제의 이해가 가장 어려웠던 문제. 처음엔 접근을 현재 가격 이후에 가격들 중 크거나 같은 가격을 찾는 방법을 사용했는데 테스트케이스만 맞고 전부 틀려버렸다. 문제 이해를 위해 질문하기 메뉴로 가서 문제를 훑어보니 핵심은 가격이 떨어지지 않은 기간 이었다. 즉 3 초-> 4초 를 갈 때 가는 그 1초를 버텼으니 1초인 것이다. (이후에 올라간 가격은 생각하지 않는다. 이미 떨어진 부분에서 끝이..

Programmers 2023.01.03

[Web] HTTP와 WebSocket의 차이

SSAFY에서 진행한 프로젝트를 되짚어보면서 1:1 채팅에서 사용 한 WebSocket에 대해 알아볼 겸 HTTP와의 차이에 대해 공부해보려 한다. HTTP란? HTTP (HyperText Transfer Protocol) 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다. 이렇게 규약을 정해두었기 때문에 모든 프로그램이 이 규약에 맞춰 개발해서 서로 정보를 교환할 수 있게 되었다. WebSocket이란? Transport protocol의 일종으로 쉽게 이야기하면 웹버전의 TCP 또는 Socket이라고 이해하면 된다.(TCP와는 엄연히 다르다. WebSocket은 HTTP 레이어에서 작동 ) WebSocket은 서버와 클라이언트 간에 Socket Connection을 유지해..

Web 2022.12.29

[React] RTK(Redux Tool Kit)에 대해 알아보자

ReduxToolKit 이란? 기존 Redux의 불편한 점을 개선하고 편하게 사용 할 수 있게 해주는 라이브러리. 흔히 RTK라고도 부른다. Redux 기본 용어 Store : 스토어는 컴포넌트의 상태를 관리하는 저장소. 프로젝트는 하나의 스토어만 가질 수 있다. Action : 스토어의 상태를 변경하기 위해서는, 액션을 생성해야 한다. 액션은 객체이며, 반드시 type을 가져야 한다. 액션 객체는 액션 생성 함수에 의해서 만들어진다. Reducer : Reducer는 현재 상태와 액션 객체를 받아 새로운 상태를 리턴하는 함수. Dispatch : Dispatch는 스토어의 내장 함수 중 하나이며, 액션 객체를 넘겨줘 상태를 업데이트 시켜주는 역할을 한다. Subscribe : 스토어의 내장 함수 중 하..

Javascript & React 2022.12.28
LIST