본문 바로가기

코딩 테스트/[JS] programmers 코딩 테스트 연습18

[Programmers/JS] 피보나치 수 / 프로그래머스 코딩 테스트 연습 피보나치 수 문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 예시 n return 3 2 5 5 참고 자료 피보나치 수 F(n) = F(n-2) + F(n-1) 코드 해석 및 전체 코드 F(0) == 0, F(1) =.. 2021. 12. 22.
[Programmers/JS] JadenCase 문자열 만들기 / 프로그래머스 코딩 테스트 연습 JadenCase 문자열 만들기 문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 예시 s return "3people unFollowed me" "3people Unfollowed Me" "for the last week" "For The Last Week" Flow 1. 반환할 변수를 배열로 선언 2. split() 함수 사용하여 공백을 기준으로 문자열 자르기 3. 배열 st 끝까지 for문 반복 4. i의 첫번째 문자는 대문자로, 첫번째 문자를 제외한 문자들은 소문자로 변환하여 answer 배열에 push 5. 대소문자 변환한 배.. 2021. 12. 21.
[Programmers/JS] N개의 최소공배수 / 프로그래머스 코딩 테스트 연습 N개의 최소공배수 문제 설명 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 예시 arr result [2,6,8,14] 168 [1,2,3] 6 코드 해석 및 전체 코드 1. reduce 함수를 사용하여 최소 공배수 구하기 2. 인덱스 0, 1의 최소 공배수 L 구하기 3. L과 인덱스 3의 최소 공배수 구하기 4. 배열 끝까지 반복 예시 1의 배.. 2021. 12. 20.
[Programmers/JS] 체육복 / 프로그래머스 코딩 테스트 연습 체육복 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution.. 2021. 7. 18.
[Programmers/JS] 모의고사 / 프로그래머스 코딩 테스트 연습 모의고사 filter랑 친해지기 d-^0^-b 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아.. 2021. 6. 20.
[Programmers/JS] 제일 작은 수 제거하기 / 프로그래머스 코딩 테스트 연습 제일 작은 수 제거하기 문제 설명 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 예시 arr return [4, 3, 2, 1] [4, 3, 2] [10] [-1] 코드 해석 및 전체 코드 알고리즘 1-1. arr 배열의 길이가 1인 경우 [-1] 반환 1-2. answer 배열 = arr 배열 2. 최소값 구하기 3. answer 길이만큼 반복하여 최소값 같을 경우 인덱스 삭제 1-1. arr 배열의 길이가 1인 경우 [-1] 반환 굳이 배열 길이 잡아서 값.. 2021. 6. 20.
[Programmers/JS] 로또의 최고 순위와 최저 순위 / 프로그래머스 코딩 테스트 연습 로또의 최고 순위와 최저 순위 문제 설명 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 순위당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 예시 lottos win_nums result [44, 1, 0, 0, 31, 25] [31, 10, 45.. 2021. 6. 20.
[Programmers/JS] 완주하지 못한 선수 / 프로그래머스 코딩 테스트 연습 완주하지 못한 선수 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 예시 participant completion return ["leo", "kiki", "eden"] ["eden", "kiki"] "leo" ["marina", "josipa", "nikola", "vinko", "filipa"] ["josipa", "filipa", "marina", "nikola"] "vinko" ["mislav", "st.. 2021. 6. 20.
[Programmers/JS] 음양 더하기 / 프로그래머스 코딩 테스트 연습 음양 더하기 문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 예시 absolutes signs result [4, 7, 12] [true, false, true] 9 [1, 2, 3] [false, false, true] 0 코드 해석 및 전체 코드 수도코드 1. reduce 이용 2. sign이 true이면 sum에 더하고, false이면 빼기 reduce() : 배열을 기반으로 값 하나를 도출할 때 사용한다. absolutes → 순회할 배열 accumulator → 이전 함수 호출의.. 2021. 6. 20.