자바스크립트 알고리즘 29

자바스크립트 알고리즘 42 일차 (코딩도장)

42일차 첫번째 문제 문제: 1차원의 점들이 주어졌을 때, 그 중 가장 거리가 짧은 것의 쌍을 출력하는 함수 난이도: 코딩테스트 문제 풀이 과정: s 배열에 값이 있고 ss는 slice 활용해서 깊은 복사로 인덱스 1부터 시작하는 새로운 메모리에 저장된 배열을 생성 s배열에 원소를 순회하면서 인덱스 1부터 시작하는 ss 배열로 각 쌍의 배열을 반환한다. [ [1,3], [3, 4], [4, 8], ...] sort 함수를 활용해서 각 쌍의 두번째 요소와 첫번째 요소의 차이를 기준으로 오름차순으로 정렬을 하면 차이가 가장작은 쌍의 정렬된 배열로 반환이 된다. const s = [1, 3, 4, 8, 13, 17, 20] const ss = s.slice(1) s.map((v, i) => [v, ss[i]]..

자바스크립트 알고리즘 41 일차 (프로그래머스)

41일차 첫번째 문제 문제: 배열 만들기6 난이도: 하 풀이 과정: 매개변수 arr에 원소들을 for문으로 순회를하고 새로운 배열 stk 마지막 값과 순회하는 arr 값이 같으면 stk배열에 마지막 값을 지우고 아니면 stk 배열에 arr 원소 값을 넣는다. for문을 순회하고 return값으로 빈배열이면 [-1] 값을 아니면 stk 값을 반환하면 된다. 참고사항: javascript 배열에 유용하게 사용가능한 함수 정리 .push(): 배열의 맨뒤에 값을 추가. .unshift(): 배열의 맨앞에 값을 추가. .pop(): 배열에 맨뒤 값을 제거 .shift(): 배열에 맨앞 값을 제거 https://school.programmers.co.kr/learn/courses/30/lessons/181859 ..

자바스크립트 알고리즘 39 일차 (프로그래머스)

39일차 첫번째 문제 문제: 겹치는 선분에 길이 난이도: 중 풀이 과정: 매개변수에 lines 2차원 배열에 개수에 겹치는 부분은 중복이 되는 개념으로 새로운 배열을 만들어 준다. 문제에 -100 에서 100까지에 원소값이 있기때문에 200개의 배열을 0으로 채워준다. 매개변수를 foreach로 순회를 하고min < max만큼 순회를 돌명선 새로운 배열에 값을 채워나간다. +100은 음수값에 대한 예외로 min + 100개 값에 index 부터 시작한다. 참고사항: foreach는 map 같은 개념으로 배열을 순회한다. new Array는 새로운 배열을 만들고 fill 배열에 값을 채워준다. 만약에 1일라면 200개 배열에 값은 1로 채워진다. https://school.programmers.co.kr/..

자바스크립트 알고리즘 36 일차 (프로그래머스)

36일차 첫번째 문제 문제: 대소문자 바꿔서 출력 난이도: 하 풀이 과정: str 문자열 값을 split 함수로 배열로 만들고 map돌려서 javascript 알파벳 소대문자 메소드를 활용해서 값을 반환하고 join 함수로 문자열 반환 참고사항: javascript 알파벳 소대문자 메소드로 toUpperCase() (대문자) 와 toLowerCase() (소문자) 사용한다. https://school.programmers.co.kr/learn/courses/30/lessons/181949?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programme..

자바스크립트 알고리즘 35 일차 (프로그래머스)

35일차 첫번째 문제 문제: OX퀴즈 난이도: 하 풀이 과정: 매개변수 quiz에 원소들을 for문을 돌려 순회하고 원소에 값들을 split하고 구조분해할당으로 if 조건문으로 값을 할당. 참고사항: 배열, 객체에 값들을 분해해서 값을 할당받을수 있는 표현식. https://school.programmers.co.kr/learn/courses/30/lessons/120907 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 31 일차 (프로그래머스)

31일차 첫번째 문제 문제: 등수 매기기 난이도: 하 풀이 과정: 매개변수로 넘어오는 2차원배열 score에 map 함수로 평균 점수 값을 구하고 sort 함수로 내림차순 정렬을 한다. 정렬하지 않은 배열을 평균값을 구해서 하나더 만들고 map을 돌려서 내림차순으로 정렬된 배열에 indexOf +1 을 해서 값을 반환 참고사항: indexOf 문자열에 위치 값을 반환해주고 아니면 -1 반환 자바스크립트 사칙 연산 순위: * / + - 이고 ( ) 우선 순위로 계산 https://school.programmers.co.kr/learn/courses/30/lessons/120882?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤..

자바스크립트 알고리즘 30 일차 (프로그래머스)

30일차 첫번째 문제 문제: 컨트롤 제트 난이도: 하 풀이 과정: 매개변수 s를 split 함수로 공백 으로 짤라주고 값을 정의해줄상수 result = 0 으로 for문을 순회하면서 Z가 아니숫자 들을 더하고 Z에 원소를 순회할때 이전 원소를 빼주는 if 조선문으로 풀이 참고사항: split 공백기준으로 짤름 https://school.programmers.co.kr/learn/courses/30/lessons/120853?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 29 일차 (프로그래머스)

29일차 첫번째 문제 문제: 문자열 밀기 난이도: 하 풀이 과정: 첫번째 풀이 과정에서 while 문을 사용했다 하지만 다른 코드를 찾아보고 공부를 하면서 더 간단하고 쉽게 풀수 있는 indexOf 방식이 있어서 indexOf를 활용해서 결과값 추출 첫번째 풀이과정. 참고사항: indexOf 함수는 알고리즘문제 에서 자주사용되서 숙지를 하면 좋다. indexOf는 문자열을 찾을때 많이 사용된다. 문자열을 찾으면 문자열 index 위치를 반환하고 없으면 -1을 반환한다. https://school.programmers.co.kr/learn/courses/30/lessons/120921 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기..

자바스크립트 알고리즘 28 일차 (프로그래머스)

28일차 첫번째 문제 문제: 외계어 사전 난이도: 하상 풀이 과정: 매개변수 spell에 배열에 원소가 dic 배열 원소에 조합되는 문자가 있는지 찾기 위해서 some 함수를 사용해서 조건에 만족이 되면 true를 반환 아니면 false로 반환해서 있으면 true 면 1 아니면 2로 결과값 출력. 참고사항: some 함수는 하나라도 조건에 만족이 되면 true를 반환 아니면 false로 반환 특이 사항으로 [...v].sort() === [...spell].sort() 비교를 하면 false 떨어진다 그 이유는 주소 값으로 비교를 해서 서로 다른 메모리 주소 값으로 저장하고 비교를 하기 때문에 값이 똑같아도 비교가 안된다. 해결하기 위해서 toString() 메소드로 문자열로 변환을 해서 비교를 하면 해..

자바스크립트 알고리즘 26 일차 (프로그래머스)

26일차 첫번째 문제 문제: 진료 순서 정하기 난이도: 하중 풀이 과정: 매개변수에 값을 sort로 내림차순으로 정렬을한 배열을 하나 복사하고 원본 배열에 map을 순회하면서 복사한 배열에 indexOf 메소드로 index를 찾아서 반환하고 배열은 0부터 시작하기 때문에 +1을 해준다. 참고사항: slice 는 얇은 복사로 원본에 배열을 건드리지 않고 얕은 복사본으로 새로운 배열 객체를 반환. indexOf 배열에 값이 몇번째 index 인지 찾아준다 그래서 내림차순으로 0, 1, 2 이런식으로 index를 찾아서 반환한다. https://school.programmers.co.kr/learn/courses/30/lessons/120835 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭...

카테고리 없음 2023.05.11

자바스크립트 알고리즘 25 일차 (프로그래머스)

25일차 첫번째 문제 문제: 잘라서 배열 저장하기 난이도: 하중 풀이 과정: 매개변수 my_str index만큼 for문을 순회하고 for문의 증감을 n 개수 만큼으로 할당하고 slice로 각각의 문자를 잘라준다. ex 1번순회: 0, 6, 2번순회: 6, 12, 3번순회: 12, 18 참고사항: slice 는 얇은 복사로 원본에 배열을 건드리지 않고 얕은 복사본으로 새로운 배열 객체를 반환. https://school.programmers.co.kr/learn/courses/30/lessons/120913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 24 일차 (프로그래머스)

24일차 첫번째 문제 문제: 한번만 등장하는 문자 난이도: 하중 풀이 과정: 다양한 방법으로 한 번만 등장하는 문자를 찾을수 있지만 매개변수 문자열은 split 함수로 배열로 만들고 filter 함수로 순회하며 indexOf 와 lastIndexOf로 한번만 등장하는 문자를 찾아서 반환. 참고사항: indexOf, lastIndexOf 함수는 문자열안에 조건이 되는 문자열이 몇 번째 존재하는지를 확인하는 함수 lastIndexOf 함수는 동일한 역활을 하지만 뒤에서부터 몇전째 위치에 존재하는지를 확인해주는 함수이므로 한번만 등장하는 문자열은 index값이 똑같기 때문에 원하는 결과값을 얻을 수 있다. https://school.programmers.co.kr/learn/courses/30/lessons/..

자바스크립트 알고리즘 23 일차 (프로그래머스)

23일차 첫번째 문제 문제: 가까운 수 난이도: 하중 풀이 과정: 매개변수 n 값에 가장 가까운 array 값을 찾기 위해서 배열을 sort로 정렬을 해주고 reduce로 순회를 하고 Math.abs 함수로 절대값을 만들어서 비교를해서 해당 값을 찾는다. 참고사항: array 배열에 더 적은 숫자를 출력하기 위해서는 배열을 sort함수로 정렬을 해줘야한다. math.abs를 활용해서 절대 값으로 변환 https://school.programmers.co.kr/learn/courses/30/lessons/120890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co..

자바스크립트 알고리즘 22 일차 (프로그래머스)

22일차 첫번째 문제 문제: k의 개수 난이도: 하중 풀이 과정: for문으로 j의 개수만큼 순회를 해서 j개수 만큼 값을 result에 문자열로 축적을 한다. split 함수를 활용해서 k값을 짜라서 배열로 만들고 -1 해주면 반환값을 받음 참고사항: split 함수를 짜르면 해당 개수에 +1이 된다. length -1을 주어야 한다. https://school.programmers.co.kr/learn/courses/30/lessons/120887 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 20 일차 (프로그래머스)

20일차 첫번째 문제 문제: A로 B 만들기 난이도: 하 풀이 과정: 함수에 2개의 매개변수를 배열로 변환해서 sort() 메소드로 오름차순을 해주고 삼항연산자로 true일 경우 1 아닐경우 0을 반환 참고사항: sort() 메소드는 기본적으로 오름차순으로 배열 요소를 정렬해준다(default ). 배열에 List 값을 뿌려줄때 sort() 메소드를 활용해서 오름차순, 내림차순 정렬로도 활용할 수 있다. Array.from(arr), [...arr], arr.split("") 문자열을 배열로 만들수 있는 방법은 다양하다. https://school.programmers.co.kr/learn/courses/30/lessons/120886# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. ..

카테고리 없음 2023.05.05

자바스크립트 알고리즘 18 일차 (프로그래머스)

18일차 첫번째 문제 문제: 369 게임 난이도: 하 풀이 과정: 매개변수의 숫자를 문자열로 변환하고 for of 문을 활용해서 369 조건문 해당되면 1씩 count 해준다. 참고사항: for of 반복문은 배열에 주로 사용한다. 배열을 순회해서 자료들을 하나씩 꺼내고 싶을때 사용한다. * 배열뿐만 아니라 문자, NodeList, Map, Set같은 자료형에도 사용이 가능하다. https://school.programmers.co.kr/learn/courses/30/lessons/120891 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 16 일차 (프로그래머스)

16일차 첫번째 문제 문제: 배열 회전 시키기 난이도: 하 풀이 과정: 오른쪽으로 회전 시킬시에 javascript pop 함수로 뒤에 값을 빼서 unshift 함수로 pop으로 뺀 값을 맨 앞에 할당 왼쪽으로 회전시킬시 역으로 shift 함수로 앞에 값을 빼서 push 함수로 맨 뒤로 값을 할당. 참고사항: javascript 배열 함수 pop, unshift, shift, push 개념 필요 https://school.programmers.co.kr/learn/courses/30/lessons/120844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 15 일차 (프로그래머스)

15일차 첫번째 문제 문제: 가위 바위 보 난이도: 하 풀이 과정: javascript 내장함수 split 활용해서 배열로 만들어 주고 map 활용해서 배열을 순회해서 가위 바위 보에 이기는 값들을 조건문으로 할당하고 join으로 배열을 문자열로 푼다. 참고사항: split 개념, map 개념, if문 개념. split 말고도 [...rsp] 스프레드 연산자 혹은 Array.from() 활용해서 문자열을 배열로 만들수 있다. https://school.programmers.co.kr/learn/courses/30/lessons/120839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. ..

자바스크립트 알고리즘 14 일차 (프로그래머스)

14일차 첫번째 문제 문제: 배열의 유사도 난이도: 하 풀이 과정: javascript 내장함수 filter를 활용하고 includes 메소드를 활용해서 배열에 원소값을 찾아서 풀음 참고사항: filter 개념 알고리즘 문제풀이에 자주사용. includes: javascript 메소드로 배열에 특정값을 판별하는데 사용한다 반환값으로 특정값이 있으면 true 없으면 false를 반환. https://school.programmers.co.kr/learn/courses/30/lessons/120903 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 13 일차 (프로그래머스)

13일차 첫번째 문제 문제: 특정 문자열 지우기 난이도: 하 풀이 과정: 다양한 방법으로 특정 문자열을 찾을 수 있다. split 함수로 letter 매개변수 값을 짤라서 join 으로 문자열로 반환 하는 방법도 있었고 replaceAll 활용해서 특정 문자열을 제거할 수 있다. 정규식 공부할겸 정규식을 활용해서 풀음 참고사항: new RegExp 인스턴스를 사용 https://school.programmers.co.kr/learn/courses/30/lessons/120826 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 12 일차 (프로그래머스)

12일차 첫번째 문제 문제: 문자열 뒤집기 난이도: 하 풀이 과정: 문자열을 javascript 내장함수 split 문자열을 배열로 만들고 reverse 순서를 뒤집고 join 배열을 문자열로 합쳐준다. 참고사항: split, reverse, join 함수 개념필요 https://school.programmers.co.kr/learn/courses/30/lessons/120822 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 11 일차 (프로그래머스)

11일차 첫번째 문제 문제: 배열 두배 만들기 난이도: 하 풀이 과정: 배열에 map으로 순회를 돌면서 값을 구함 참고사항: map 개념, map 순회를 돌면서 연산값도 구하지만 데이터를 추출하는데 많이 사용된다. https://school.programmers.co.kr/learn/courses/30/lessons/120809 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 8 일차 (프로그래머스)

8일차 첫번째 문제 문제: 중복된 숫자 개수 난이도: 하 풀이 과정: filter 함수를 활용해서 중복된 숫자의 개수를 찾을 수 있다. 참고사항: filter 개념 필요 코딩테스트 연습 - 중복된 숫자 개수 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 7 일차 (프로그래머스)

7일차 첫번째 문제 문제: 키 큰 사람 난이도: 하 풀이 과정: for문, filter 중에 넘어오는 매개변수 height로 키 큰 사람을 찾을 수 있다. 참고사항: for문, javascript 내장함수 filter 개념 필요 https://school.programmers.co.kr/learn/courses/30/lessons/120585?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 6 일차 (프로그래머스)

6일차 첫번째 문제 문제: 배열의 평균값 난이도: 하 풀이 과정: 배열에 매개변수를 reduce 함수를 활용해서 총 값을 더하고 배열에 전체 만큰 나눠서 평균값을 구한다. 참고사항: Reduce 개념이 필요하다. parseFloat 함수는 문자열 실수를 숫자로 변환해주는 함수라서 없어도 상관은 없다. https://school.programmers.co.kr/learn/courses/30/lessons/120817?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 4 일차 (프로그래머스)

4일차 첫번째 문제 문제: 양꼬치 난이도: 하 풀이 과정: 사칙 연산 우선 순위: * / + - 참고사항: Math.floor 소수점을 버리는 자바스크립트 함수 https://school.programmers.co.kr/learn/courses/30/lessons/120830 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

자바스크립트 알고리즘 1 일차 (프로그래머스)

1일차 첫번째 문제 문제: 몫 구하기 난이도: 하 풀이 과정: 자바스크립트 수학 함수에 대한 이해도만 있으면 쉽게 풀음 참고사항: 실수: 10/5 하면 정수가 나오지만 7/2 경우 소수점까지 출력이 된다. Math.floor: 소수값이 존재할때 내림을 하거나 가장 큰 정수로 반환하는 함수. 1일차 두번째 문제 문제: 숫자 비교하기 난이도: 하 풀이 과정: 조건문에 대한 이해도 필요 참고사항: Strict Equal Operator === 를 사용해서 서로 비교 출처: https://school.programmers.co.kr/learn/courses/30/lessons/120805 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술..