본문 바로가기
반응형

나의 개발일지/알고리즘 테스트11

[프로그래머스] 의상 - JavaScript 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42578# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제코니는 매일 다른 옷을 조합하여 입는것을 좋아합니다.예를 들어 코니가 가진 옷이 아래와 같고, 오늘 코니가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야합니다.종류이름얼굴동그란 안경, 검정 선글라스상의파란색 티셔츠하의청바지겉옷긴 코트코니는 각 종류별로 최대 1가지 의상만 착용할 수 있습니다. 예를 들어.. 2024. 10. 14.
[프로그래머스 - Level 1] 하샤드 수 (JS) [문제] 양의 정수 x의 자릿수 합으로 x가 나누어 떨어지면 하샤드 수이다. 하샤드 수이면 true, 아니면 false를 반환. [로직] 1. 자릿수의 합을 구하기 위해 정수 x를 문자열로 바꾼다. 2. 빈 배열을 생성해주고, 문자열로 바꾼 x를 반복문을 돌며 한자리씩 빈 배열에 Push해준다. 3. reduce()를 이용해 자릿수의 합을 구해준다. 4. x가 자릿수의 합으로 나누어 떨어지면 true를, 아니면 false를 반환한다. [코드] function solution(x) { let str = x.toString(); let sumArr = []; for (let i=0; ia+c,0); return (x % sum === 0) ? true : false } 1. 자릿수의 합을 구하기 위해 정수 .. 2022. 7. 20.
[프로그래머스 - Level 1] 콜라츠 추측 (JS) [문제] 입력된 수가 짝수: 나누기 2 입력된 수가 홀수: *3 +1 결과값이 1이 될 때까지 반복한다. 단, 주어진 수가 1인 경우 0을, 500번 반복할 때까지 1이 되지 않는다면 -1을 반환한다 [로직] 1. num이 1인 경우, 바로 0을 리턴해준다 2. 반복문을 돌며 짝수일 경우 /2 (이때 2로 나눠준 값이 1이면 바로 횟수를 리턴), 홀수일 경우 *3+1을 해준다. 3. 반복 횟수가 500번이 넘어갈 경우 -1을 리턴해준다. [코드] const n = 6; function solution(num) { if (num === 1) { return 0; } for (let i = 0; i < 500; i++) { if (num % 2 ===0) { num = num/2; if (num === 1.. 2022. 7. 20.
[프로그래머스 - Level 1] 이상한 문자 만들기 (JS) [문제] 문자열의 짝수번째 알파벳 → 대문자 문자열의 홀수번째 알파벳 → 소문자 문자열 s는 한 개 이상의 단어로 구성, 짝/홀은 단어별로 인덱스 판단 첫번째 글자는 인덱스 넘버 0이므로, 짝수로 처리 → [try] => [0,1,2] → [hello] => [0,1,2,3,4] → [world] => [0,1,2,3,4] [로직] 1. 단어별 짝수/홀수번째를 판단하기 위해 문자열 s를 배열로 바꾸고(띄어쓰기 기준으로), .map()으로 단어별로 반복하며 배열을 만들어준다. ▶ "try hello world" → ['try', 'hello', 'world'] 2. 다시 .map()으로 각 단어를 돌며 단어를 알파벳 단위 배열로 만들어준다. ▶ [ [ 't', 'r', 'y' ], [ 'h', 'e', .. 2022. 7. 19.
[프로그래머스 - Level 1] 정수 내림차순으로 배치하기 (JS) [문제] 정수 n의 각 자릿수를 큰것부터 작은 순으로 내림차순 정렬한 새로운 정수를 리턴. [로직] 1. 정수 n을 문자열로 바꾼다. 2. 빈 배열의 새로운 변수를 지정해준다. 3. for문을 돌려 문자열로 바꾼 n의 자릿수 하나하나를 순서대로 빈 배열에 push해준다. 4. sort() 함수를 이용해 배열을 내림차순으로 정렬해주고, 다시 정수로 변환한다. [코드] const n = 118372; function solution(n) { let str = n.toString(); let arr = []; for (let i = 0; i b - a).jo.. 2022. 7. 19.
[프로그래머스 - Level 1] 서울에서 김서방 찾기 (JS) [문제] String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아 "김서방은 x에 있다"는 String을 반환. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. [로직] 1. indexOf() 함수를 이용해 "Kim"의 인덱스 넘버를 가져온다. 2. 가져온 인덱스 넘버를 "김서방은 x에 있다"의 형태로 return! [코드] const seoul = ["Jane", "Kim", "Park"]; function solution(seoul) { let index = seoul.indexOf("Kim") return '김서방은 '+index+'에 있다'; } console.log(solution(seoul)); 1. indexOf() 함수를 이용해 ".. 2022. 7. 18.
반응형