STUDY 89

[프로그래머스_파이썬] Lv.1 성격 유형 검사하기

[Python_ 성격 유형 검사하기] 📢 문제 📢 성격 유형 검사는 다음과 같은 4개의 지표로 구분한다. 지표 번호 성격 유형 1번 지표 라이언형(R), 튜브형(T) 2번 지표 콘형(C), 프로도형(F) 3번 지표 제이지형(J), 무지형(M) 4번 지표 어피치형(A), 네오형(N) 검사진에는 총 n개의 질문이 있고, 각 질문에는 7개의 선택지가 있다. 선택지 성격 유형 검사 매우 비동의 3점 비동의 2점 약간 비동의 1점 모르겠음 0점 약간 동의 1점 동의 2점 매우 동의 3점 검사 결과는 모든 질문의 성격 유형 점수를 더하여 각 지표에서 더 높은 점수를 받은 성격 유형이 검사자의 성격 유형이라고 판단한다. 단, 하나의 지표에서 각 성격 유형 점수가 같으면, 두 성격 유형 중 사전 순으로 빠른 성격 유형..

STUDY/Algorithm 2022.12.15

[프로그래머스_자바스크립트] Lv2. 최댓값과 최솟값

[Javascript_ 최댓값과 최솟값] 📢 문제 📢 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 제한 조건 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 예시) s return "1 2 3 4" "1 4" "-1 -2 -3 -4" "-4 -1" "-1 -1" "-1 -1" ❗아이디어 - 문자열을 배열로 바꾼 후 max와 min 값을 찾는다. function solution(s) { let answer = ''; const list = s.split(" "); let numbers = []; for (let i = 0; i < list.leng..

STUDY/Algorithm 2022.12.14

[타입스크립트] event.target.checked - event 타입 오류 / 리액트, input event, ChangeEvent<HTMLInputElement>

[Typescript_ HTMLInputElement] ❓ 문제 리액트 + 타입스크립트로 작업하던 중 change event (event.target.checked)의 타입 오류가 발생했다. label 태그의 onChange 이벤트로 체크박스의 체크 여부를 확인하는 과정에서의 타입 선언이 잘못 된 것이었다. type을 any로 선언해 주어도 되지만 any는 지양해야 한다는 얘길 들었기 떄문에.. 다른 방법을 찾아보았다. ❗ 해결 알고보니 label이 아니라 input에서 onChange 이벤트를 추가해서 React.ChangeEvent 타입으로 선언해 주면 되는 것이었다...! event 타입 문제 때문에 타입스크립트를 사용하기 어려웠는데 이번 기회에 정확하게 타입 공부를 해야 할 것 같다. 내가 보려고..

[리액트] yarn cra 파일 수정 오류 해결하기 / Failed to load config "react-app" to extend from, eslint, yarn 오류

[React_ eslint 오류] yarn을 생성한 리액트 프로젝트를 수정하고 저장했는데 이런 오류가 발생했다. 이유는cra와 yarn이 충돌했기 때문에 발생하는 문제이다. ❗ 해결 1. eslint-fonfig-react-app 를 설치한다. yarn add -D eslint-config-react-app 2. root 폴더에 .yarnrc.yml 파일을 아래 사진과 같이 생성한다. 3. 캐시 삭제 yarn cache clean 위 명령어로 캐시를 삭제한 후 다시 실행한다.

[리액트] 전역 state 관리하기_❓ / useReducer + ContextAPI, Redux와 차이점

[React_ useReducer + ContextAPI] ❓ 전역으로 state 관리하기 리액트로 개발을 하면서 느낀 점은 컴포넌트 층이 많아지면 prop로 state를 전달하는 과정(prop drilling)에서 prop을 추적하기 어려워 유지보수에 영향을 미친다는 점이었다. 이러한 현상을 해결하기 위해 상태 관리도구인 Redux, Recoil, Mobx 등을 사용하여 과도한 prop drilling을 줄이는 방법을 사용한다. ❓ useReducer useState를 대체하는 hook으로 state가 여러 하위 값을 포함하는 복잡한 상태거나 다음 state가 이전 상태에 종속되는 경우 선호되는 방법이다. [state, dispatch] 한 쌍으로 반환되며 컴포넌트 밖에 state를 정의하여 사용할 수..

[자바스크립트] 시간 표기하기_⏰ / sns처럼 표기하기

[Javascrip_ new Date()] sns처럼 00분 전, 00시간 전 같이 표기하는 방법에 대해 알아보자 ❓ SNS처럼 시간 표기하기 - 위 사진과 같이 00분 전, 00시간 전으로 표기하기 위해서는 시간차를 계산해 주어야 한다. 1. 시간 나누기 💡 위처럼 시간을 split 하여 "연, 월, 일, 시, 분, 초"로 나눈다. 💡 오늘 날짜를 new Date()로 구한 뒤 게시글 생성 날짜와 오늘 날짜를 따로 정의해준다. 2. 시간 차 계산 💡 new Date() 안에 "0000-00-00 00:00:00"의 형태로 넣어준 뒤 뺀다. 💡 시간 계산 ❕ beforeHours / 1000 : 초 ❕ beforeHours / 1000 / 60 : 분 ❕ beforeHours / 1000 / 60 / 6..

[자바스크립트] URL.createObjectURL() 반복적인 객체 생성 오류_💡 / 메모리 관리, URL.revokeObjectURL()

[JS_URL.createObjectURL()] 로컬 객체 경로를 만들어 주는 URL.createObjectURL()을 img 태그 안에 직접 입력했을 때 반복적으로 객체를 생성하는 것과 그에 대한 해결 방법 대해 알아보자 ❓ URL.createObjectURL()을 이용하여 이미지 미리보기를 구현하던 중 text를 입력할 떄마다 계속해서 이미지 객체를 생성하는 현상을 발견했다. 이전 프로젝트와 같은 방법으로 구현했는데 이번에만 발생한 이슈라서 이유를 몰라 조금 헤맸다. 전역 스테이트 (useReducer, useContext 이용)로 관리하며 state를 복사해서 그런 것인 줄 알고 따로 빼서 분리하는 등 이것 저것 시도해 보았지만 똑같은 현상이 일어났다. 그런데 이유는 바로 img 태그 안에 바로 U..

[리액트] input [type = 'file'] 중복 업로드 오류_⚡

[React_input[type='file']] 같은 파일 연속 업로드 시 생기는 문제에 대해 알아보자 input 태그를 이용하여 이미지 첨부 및 미리보기 포스팅 👉 [리액트] input [type='file'] 폼 꾸미기_🎵 / 버튼으로 파일 첨부 👉 [리액트] input 이미지 미리보기_🎨 ⚡ input file 업로드 코드 같은 파일 (이미지)를 연속으로 업로드 하는 경우 onChange 이벤트가 실행되지 않는 오류가 발생되었다. 즉, 같은 파일이 연속적으로 추가되지 않는 문제였는데 바로 input 으로 파일 추가시 value를 초기화하지 않으면 이전 값을 그대로 가지고 있기 때문이었다. ❓ 해결방법 💡 onClick 이벤트 발생시 value 초기화하기 e.target.value = null}> -..

[백준코딩_파이썬] 10250번_ACM 호텔

[Python_ACM 호텔] 📢 문제 📢 각 층에 W 개의 방이 있는 H 층 건물이라고 가정하자 (1 ≤ H, W ≤ 99). 호텔 정문은 일층 엘리베이터 바로 앞에 있는데, 정문에서 엘리베이터까지의 거리는 무시한다. 또 모든 인접한 두 방 사이의 거리는 같은 거리(거리 1)라고 가정하고 호텔의 정면 쪽에만 방이 있다고 가정한다. 방 번호는 YXX 나 YYXX 형태인데 여기서 Y 나 YY 는 층 수를 나타내고 XX 는 엘리베이터에서부터 세었을 때의 번호를 나타낸다. 손님은 엘리베이터를 타고 이동하는 거리는 신경 쓰지 않는다. 다만 걷는 거리가 같을 때에는 아래층의 방을 더 선호한다. 초기에 모든 방이 비어있다고 가정하에 이 정책에 따라 N 번째로 도착한 손님에게 배정될 방 번호를 계산하는 프로그램이다. ..

STUDY/Algorithm 2022.09.28

[백준코딩_파이썬] 2869번_달팽이는 올라가고싶다

[Python_달팽이는 올라가고싶다] 📢 문제 📢 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. ❗아이디어 - 달팽이가 올라가야 하는 높이를 하루에 올라가는 높이로 나눈 나머지를 구한다. import sys A, B, V = map(int, sys.stdin.readline().split()) if (V-B) % (A-B) == 0: print((V-B) // (A-B)) elif (V-B) % (A-B) < A-B: print((V-B) // (A-..

STUDY/Algorithm 2022.09.26