전체 글 100

동기(Synchronous)와 비동기(Asynchronous)

😵‍💫 동기??? 비동기?? 👆 먼저 동기와 비동기의 차이에 대해 알아보자. 👉 동기(Synchronous) 동기는 데이터의 요청과 결과가 한 자리에서 동시에 일어나는 것을 말한다. 동기적인 작업은 순서대로 진행하면서 이전 작업이 완료된 후에야 다음 작업이 실행되기 때문에 , 이전 작업이 완료될때까지 무한대기 해야한다는 단점이 있지만, 작업이 한 번에 하나씩 순차적으로 처리되기 때문에 코드의 흐름과 순서를 예측하기 쉽다는 장점이 있다. 👉 비동기(Asynchronous) 비동기는 동시에 일어나지 않는다는 것을 의미한다. 비동기적인 작업은 순서대로 진행되지 않고, 작업이 완료되지 않아도 다음 작업이 실행된다. 작업이 완료되면 결과를 반환하거나 콜백 함수를 호출하여 결과를 처리한다. 작업이 완료되기 전에 다..

TIL 2023.08.03

Programmers 문제 풀이 34

문제 설명 : 모스부호(1) 제한 사항 1 ≤ letter의 길이 ≤ 1,000 return값은 소문자입니다. letter의 모스부호는 공백으로 나누어져 있습니다. letter에 공백은 연속으로 두 개 이상 존재하지 않습니다. 해독할 수 없는 편지는 주어지지 않습니다. 편지의 시작과 끝에는 공백이 없습니다. 입출력 예 letter result ".... . .-.. .-.. ---" "hello" ".--. -.-- - .... --- -." "python" 문제 풀이 letter 모스부호는 공백으로 나누어져 있으니까 split(' ') 공백 구분자로 문자열을 나눠주고 나눠준 문자열을 map으로 돌면서 morse의 키값에 넣어줘서 값을 받아온 뒤에 배열을 join으로 합쳐줬다. function solut..

Programmers 2023.08.02

랜덤 선택 기능

랜덤기능 없는 랜덤밀 랜덤 선택 기능을 넣으려했는데 까먹고 안넣고 있었다.. 이름이 랜덤밀인데 다른 거 신경쓰다가... 마치 홍철이 없는 홍철팀이랄까... 너무 오래된 밈인가 그럼 문어없는 문어빵 랜덤 선택은 간단한 거라서 나중에 해야지하고 생각하다가 이제야.... 나는 선택된 것들을 dialog에 넣어줬기 때문에 useRef를 사용해 modal을 띄워줬다. 카운트는 최대 숫자가 5가 되게 했고 0이 기본값. 만약 숫자가 0인데 버튼을 클릭하면 갯수를 골라달라는 모달이 뜨게 했다. const [count, setCount] = useState(0); const [items] = useRecoilState(ItemsState); const [randomArray, setRandomArray] = useSt..

Programmers 문제 풀이 33

문제 설명 : 저주의 숫자 3 3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다. 10진법 3x 마을에서 쓰는 숫자 10진법 3x 마을에서 쓰는 숫자 1 1 6 8 2 2 7 10 3 4 8 11 4 5 9 14 5 7 10 16 정수 n이 매개변수로 주어질 때, n을 3x 마을에서 사용하는 숫자로 바꿔 return 하는 solution 함수??? 제한 사항 1 ≤ n ≤ 100 입출력 예 n result 15 25 40 76 문제 풀이 인덱스는 0부터시작하니까 n-1만큼의 3의 배수가 아니고 숫자 3이 들어가지도 않는 수 배열을 만들어준 다음 배열의 마지막 인수를 빼주었다. function solution(n)..

Programmers 2023.07.31

AJAX란 무엇인가?

💭 AJAX(Asynchronous JavaScript and XML) AJAX는 JavaScript를 통해 서버와 비동기적으로 데이터 주고받는 기술입니다. AJAX는 XML, JSON, HTML 등의 형식으로 서버와 데이터를 교환할 수 있습니다. 🧐 서버랑 비동기적으로 통신?? 👉 서버 서버는 유저가 데이터를 요구하면 데이터를 보내주는 프로그램 원하는 데이터 URL로 get요청을 하면 서버가 데이터를 보내줌 👉 비동기적 통신 비동기적이라는 의미는 요청과 응답이 서버로부터 도착할 때까지 기다리지 않고, 다른 작업을 계속할 수 있다는 것을 의미 AJAX는 XMLHttpRequest 객체나 Fetch API를 이용하여 서버와 통신하는데, 사용자의 동작에 상관없이 웹 페이지의 다른 작업을 계속할 수 있도록 하..

TIL 2023.07.31

Programmers 문제 풀이 32

문제 설명 : 특이한 정렬 정수 n을 기준으로 n과 가까운 수부터 정렬하려고 한다. 이때 n으로부터의 거리가 같다면 더 큰 수를 앞에 오도록 배치한다. 정수가 담긴 배열 numlist와 정수 n이 주어질 때 numlist의 원소를 n으로부터 가까운 순서대로 정렬한 배열을 return 하는 solution 함수??? 제한 사항 1 ≤ n ≤ 10,000 1 ≤ numlist의 원소 ≤ 10,000 1 ≤ numlist의 길이 ≤ 100 numlist는 중복된 원소를 갖지 않는다. 입출력 예 numlist n result [1, 2, 3, 4, 5, 6] 4 [4, 5, 3, 6, 2, 1] [10000,20,36,47,40,6,10,7000] 30 [36, 40, 20, 47, 10, 6, 7000, 10..

Programmers 2023.07.28

Programmers 문제 풀이 31

문제 설명 : 치킨 쿠폰 치킨을 시켜 먹으면 한 마리당 쿠폰을 한 장 발급한다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급된다. 시켜 먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 reutrn 하는 solution함수??? 제한 사항 chicken은 정수 0 ≤ chicken ≤ 1,000,000 입출력 예 chicken result 100 11 1,081 120 문제 풀이 while문을 사용해서 서비스로 받은 치킨의 쿠폰까지 다 해서 10개가 남지 않도록 반복문을 돌려서 해결. function solution(chicken) { var answer = 0; while(chicken >= 10) { answer..

Programmers 2023.07.27

프로젝트는 설계가 중요....

프로젝트 설계의 중요성을 또다시 느낌 괜스레 디자인 바꿔보겠다고 건드렸더니 엄청 엉켜서 할 일도 못하게 만드는 내 개인프로젝트 router들도 다 엉망진창이 되버려서 다시 원상복구시키고 파이어베이스를 이용한 것보다 Restful API 사용이 확실히 쉽고 프로젝트 적용시키기 전에 공부는 확실히 해놓고 설계도 힘들게 해야 하고, 찜하기를 구현하는데 로컬스토리지에 저장하고 로컬스토리지에 있는 것을 불러와서 리스트를 아래 그림과 같이 나열 했는데 삭제가 다 잘되다가 마지막 하나가 로컬스토리지에서는 지워지고 화면에는 그대로 남아있어서 해결하느라 조금 애먹었다. const [items, setItems] = useState([]); const [wish, setWish] = useRecoilState(WishS..

728x90