JavaScript 36

Callback 함수

😳 콜백 함수(callback function) 👆 콜백함수란 ? 다른 함수의 인자로 넘겨지고, 해당 함수의 실행이 끝나면 호출되는 함수를 말한다. 👂 콜백함수는 언제 사용할까? 👉 비동기 작업이 완료된 후에 그 결과를 처리하는 데 사용된다. 👉 setTimeout, setInterval 등의 타이머 함수에 사용되어 특정 시간이 지난 후 실행할 작업을 정의할 수 있다. 👉 이벤트 핸들러에서 사용되어 특정 이벤트가 발생한 후에 실행할 작업을 정의할 수 있다. ↘ ↗한마디로 말하자면 특정 작업의 실행 순서를 지정하거나 조절하기 위해 사용된다는 말입니다. 👀 아래 예시를 통해서 콜백함수를 더 알아보자. firstFunc의 콜백함수로 secondFunc을 정의했을때, firstFunc은 비동기 작업(setTim..

TIL 2023.08.06

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

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 문제 풀이 30

문제 설명 : k의 개수 1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장한다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하는 solution 함수는???? 제한사항 1 ≤ i < j ≤ 100,000 0 ≤ k ≤ 9 입출력예 i j k result 1 13 1 6 10 50 5 5 3 10 2 0 문제 풀이 i부터 j까지 문자열로 만들고 그걸 split으로 각 문자를 배열로 만들어 준다음 filter를 사용해서 k와같은 숫자들만 구해서 길이를 구했다. v*1은 문자인 str의 원소를 숫자로 바꿔서 k와 같은지를 확인할 수 있게 만든 것이다. function solution(i, j, k) { let str = "..

Programmers 2023.06.28

Programmers 문제 풀이 29

문제 설명 : 369게임 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자대신 3, 6, 9의 개수만큼 박수를 치는 게임이다. 머쓱이가 말해야 하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야 할 박수 횟수를 return 하는 solution함수??? 제한 사항 1 ≤ order ≤ 1,000,000 입출력예 order result 3 1 29423 2 문제 풀이 order를 문자열로 바꿔서 for문을 돌며 3,6,9중 하나일 때는 count++해주었다. function solution(order) { let count = 0 let str = order.toString() for(let i =0; i a-b).map((v) => Math.abs(v-n)) let i..

Programmers 2023.06.27

Programmers 문제 풀이 27

문제 설명 : 가장 큰 수 찾기 정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하는 solution 함수는??? 제한사항 1 ≤ array의 길이 ≤ 100 0 ≤ array 원소 ≤ 1,000 array에 중복된 숫자는 없습니다. 입출력 예 array result [1, 8, 3] [8, 1] [9, 10, 11, 8] [11, 2] 문제 풀이 큰 수를 구해주는 Math.max와 배열을 흩뿌려주는 '...' 스프레드 연산자를 사용한 후 배열에 값을 넣어서 풀었다. function solution(array) { return [Math.max(...array),array.indexOf(Math.max(...array))] } 문제 설명 : 약수 구..

Programmers 2023.06.23