본문 바로가기

반응형

프로그래머스/구현

(60)
[구현] 프로그래머스 '나머지가 1이 되는 수' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/87389 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 조건에 n이 3부터 시작하므로, i는 2부터 n-1까지 증가하는 반복문을 만든다. n을 i로 나누었을 때 그 나머지 값이 1이 나오는 순간이 발생한다면 그 즉시 해당값인 i를 리턴하고 종료될 수 있도록 한다. 3. 코드 function solution(n) { for(let i=2;i
[문자열 ] 프로그래머스 '하샤드 수' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12947 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 입력받은 수인 x를 string형태로 바꿔준 후, split을 통해 x의 각 자리수가 배열 속에 들어가게끔 만들어준다. reduce를 사용하여 각 자리수를 Number형태로 바꾼 후 더해준다. x를 각 자리수의 합으로 나누었을 때 나누어떨어지면, 즉 나머지가 0이면 falsy하므로 리턴값에 !를 붙혀주어 나머지가 0이면 true, 나머지가 0이 아니면 false를 리턴하도록 ..
[문자열] 프로그래머스 '이상한 문자 만들기' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 split을 통해 입력받은 문자열 s를 공백을 기준으로 나눠준 후, 그 값을 arr라는 배열에 저장한다. arr의 길이만큼 for문을 돌린다. 만약 arr[i]가 빈칸이 아니라면 arr[i]의 j번째 인덱스가 짝수일때 대문자로, 홀수일 때 소문자로 바꿔주어 temp라는 문자열에 넣어준 후, 안쪽 for문이 종료될 때 즉 arr[i]에 있는 모든 인덱스를 변경해주었을 때 arr..
[구현] 프로그래머스 '2016년' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12901 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 이 문제는 new Date()와 getDay()를 사용하는 문제이다. getDay()를 사용하면 해당 날짜의 요일을 구할 수 있다. answer += day[new Date(2016,a-1,b).getDay()]; 만약 해당 방식을 사용하려면 월 단위는 0부터 시작하기 때문에 월에 -1을 해줘야한다. 3. 코드 function solution(a, b) { var answer..
[수학] 프로그래머스 '숫자의 표현' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12924?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 이 문제는 수학 법칙..? 을 사용해서 풀어야하는 문제였다. 별짓을 다해봤는데 타임아웃을 해결할 수 없었다. 생각할 수 있는 방법은 무조건 이중 for문을 쓰는 법밖엔 없는데, 무조건 타임아웃이 떴다. 이 문제의 핵심은, 연속한 자연수들로 n을 표현하는 방법의 수는 n의 약수 중 홀수의 갯수라는 것이다. 15의 약수 중 홀수의 갯수는 1,3..
[문자열] 프로그래머스 '숫자 문자열과 영단어' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/81301?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 먼저 알파벳과 숫자가 상응하는 객체 alpha를 만들어준다. isNaN()는 해당 값의 타입이 number이면 false를, 아니면 true를 반환하는 메소드이다. 만약 s[i]가 숫자라면, 즉 !isNaN(s[i])가 true라면 리턴할 문자열인 answer에 s[i]를 더한다. 만약 s[i]가 문자라면 tempStr에 s[i]를 더한다...
[구현] 프로그래머스 '최대공약수와 최소공배수' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12940 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 최대공약수: 공약수를 넣을 빈 배열 a를 선언해준다. 1부터 n까지, n과 m 둘 다 나누었을 때 나머지가 0이 되는 n과 m의 공약수를 찾아 a에 push한다. 최대공약수는 공약수 중 가장 큰 수를 말하므로, a[a.length-1]값을 리턴할 배열인 answer에 push해준다. 최소공배수: 문제에 두 수는 1이상 1000000이하의 자연수라고 나와있으므로, m부터 1,0..
[소수] 프로그래머스 '소수 찾기' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12921 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 문제에 나와있듯 n이 2부터 시작하고, 2는 무조건 소수이므로 소수의 총 개수를 나타내는 변수 answer에 1을 할당하고 시작한다. 짝수는 소수가 아니므로, 검사하는 수의 범위를 홀수로 제한해준다(첫번째 for문). 만약 i%j == 0 이되면 isPrime을 false로 재할당한다음 break 후 다음 홀수의 검사로 넘어간다. 만약 안쪽 for문을 전부 다 돌고도 isPr..

반응형