반응형

IT/Algorithm 50

프로그래머스) 시저 암호

https://programmers.co.kr/learn/courses/30/lessons/12926 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr 나의 풀이 function solution(s, n) { const upperList = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']; const..

IT/Algorithm 2021.10.27

프로그래머스) 문자열 내 마음대로 정렬하기

https://programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers.co.kr 나의 풀이 function solution(strings, n) { return strings.sort((a, b) => { if (a[n] b[n]) { return 1; } return a < b ? -1 : 1; }); ..

IT/Algorithm 2021.10.25

프로그래머스) 소수 찾기

https://programmers.co.kr/learn/courses/30/lessons/12921 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr 나의 풀이 테스트는 통과하는데 효율성 테스트에서 계속해서 광탈하였다.. 그러던 중 에라토스테네스의 체라는 '소수를 찾는 방법'을 알게 되어 효율성 테스트에서도 통과할 수 있었다. 에라토스테네스의 체의 알고리즘은 위키에서 확인할 수 있다. https://ko.wikipedia.org/wiki/%EC%97%90%EB%9D%BC%ED%86%A..

IT/Algorithm 2021.10.25

프로그래머스) 실패율

https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 나의 풀이 function solution(N, stages) { const objList = []; let object = {}; for (let i = 1; i stge === i).length / stages.length; object['stage'] = i; stages = stages.filter(val => val !== i); objList.push..

IT/Algorithm 2021.10.24

프로그래머스) 오픈채팅방

https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 처음으로 레벨1이 아닌 레벨2 알고리즘을 풀어보았다! 다행히도 통과하긴 했다.. ㅋㅋ 나의 풀이 function solution(record) { const object = {}; record.map(sen => sen.split(" ")).forEach(log => log[2] ? object[log[1]] = log[2] : log); return recor..

IT/Algorithm 2021.10.21

프로그래머스) x만큼 간격이 있는 n개의 숫자

https://programmers.co.kr/learn/courses/30/lessons/12954 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. programmers.co.kr 나의 풀이 function solution(x, n) { const answer = [x]; n -= 1; while(n) { answer.push(answer[answer.length - 1] + x); n -= 1; } return answer; } while문을 사용하였고 배열의 끝 값에 x를 더한 값을 ..

IT/Algorithm 2021.10.21

프로그래머스) 콜라츠 추측

https://programmers.co.kr/learn/courses/30/lessons/12943 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2 programmers.co.kr 나의 풀이 function solution(num) { let repeatCount = 0; while(num !== 1) { if (repeatCount === 500) { repeatCount = -1; break; } if (!(num % 2)) { num = num / 2; repeatCount += 1; continue; ..

IT/Algorithm 2021.10.21

프로그래머스) 약수의 개수와 덧셈

https://programmers.co.kr/learn/courses/30/lessons/77884 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr 나의 풀이 function isOddOrEven(num) { let divisorCount = 0; for (let i = 1; i

IT/Algorithm 2021.10.20

프로그래머스) 나머지가 1이 되는 수 찾기

https://programmers.co.kr/learn/courses/30/lessons/87389 코딩테스트 연습 - 나머지가 1이 되는 수 찾기 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 입 programmers.co.kr 나의 풀이 function solution(n) { const divideList = []; for (let i = n - 1; i > 0; i--) { if ((n % i) === 1) { divideList.push(i); } } return divideList.pop(); } 약수를 리스트에 저장하고, 반복문이..

IT/Algorithm 2021.10.19

프로그래머스) 소수 만들기

https://programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 나의 풀이 function solution(nums) { const combiList = []; for (let i = 0; i < nums.length; i++) { for (let j = 0; j < nums.length; j++) { for (let k = 0; k < nums.length; k++) { if (!combiList.inc..

IT/Algorithm 2021.10.19
반응형