본문 바로가기

전체 글59

[js] 프로그래머스 - 소수 찾기 프로그래머스 lv.1 소수 찾기 1) n이 1과 2일 때의 경우를 따로 빼주었다. 1과 2인 경우를 제외하면 규칙적인 코드 작성이 더 간편해지기 때문이다.if (n == 1) return 0;if (n == 2) return 1; //n=2일 때는 자기 자신이 소수이므로 2) n이 3 이상일 때의 경우 3부터 n까지 for문을 걸어 카운트업 해준다. (소수 합성수 구분 없이 우선 세어 줌)이때 각 i에 대하여 2부터 i의 제곱근까지의 수로 i를 나누어보고 나누어떨어진다면 소수가 아니므로 카운트다운 해준다.이때 i의 제곱근 대신 i / 2로 해도 가능은 하나 시간 초과가 뜬다. (더불어 효율성 테스트도 모두 실패)for (i = 3; i 처음엔 break를 잘 사용할 줄 몰라 애먹었었는데, 이번에 다시.. 2022. 8. 31.
[js] 프로그래머스 - 시저 암호 프로그래머스 연습 문제 lv1 시저 암호 문제 설명 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀면 "a"가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. 제한 조건공백은 아무리 밀어도 공백입니다.s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다.s의 길이는 8000이하입니다.n은 1 이상, 25이하인 자연수입니다.입출력snresult'AB'1'BC''z'1'a''a B z'4'e F d' 정말 단순한 문제인데 푸는데 시간을 좀 투자한 문제이다. 문자열을 다루는 데.. 2022. 8. 29.
[javascript] 객체 접근 - 객체 프로퍼티(property) 열거 & 조작 프로퍼티 열거 _ 객체 순회배열 열거프로퍼티 열거배열 순회객체 순회순서 보장순서 미보장length, index 있음length, index 없음for, for-in, forEach, map, filter, reduceobject.keys, for-in, object.values, object.entries 1) Object.keys() _ 객체에서 key를 배열로 변환 var info = { age: 20, name: "길동", interest: ["music", "dancing"], desc: function() { alert("정보입니다."); }};Object.keys(info); //output: ["age", "name", "i.. 2022. 8. 29.
[js] 프로그래머스 - 성격 유형 검사하기 lv1. 성격유형 검사하기프로그래머스 2022 KAKAO TECH INTERNSHIP에 등재된 lv.1 문제를 풀어봤다. 성격 유형 검사지를 통해RT / CF / JM / AN 의 성향을 검사해 TCMA 등의 유형으로 결정하는 검사이다.구조적인 것은 최근 유행했던 MBTI 성격 유형과 같다. 검사지는 배열로 입력되며, 배열의 요소가 각 유형별 문항이라 할 수 있고, 피검사자의 선택 또한 배열로 입력된다.입력의 예시는 다음과 같다. surveychoices["AN", "CF", "MJ", "RT", "NA"][5, 3, 2, 7, 5]["TR", "RT", "TR"][7, 1, 3] 이 때 피검사자의 응답 선택에 따라 각 유형의 점수가 매겨지는데 예를 들어 문항 "AN"의 경우 점수는 다음과 같고, 첫 번.. 2022. 8. 26.
[javascript] 겹치는 구간 찾기 & map의 활용 겹치는 구간 찾기 & map의 활용수직선 상에 A구간과 B구간이 있을 때 두 구간이 겹치는 범위를 출력하는 문제.input은 A구간의 시작점과 종료점, B구간의 시작점과 종료점 순서로 입력되며두 구간의 공통 부분은 배열로 출력된다.공통 부분이 없는 경우 X를 출력한다.inputoutput3579[5,7]01038[3,8]7903X 1. 맨 처음 한 것은 주어진 input을 다루기 좋게 잘라 배열에 넣어준 것이다.newarr를 따로 생성한 것은 input이 작은 수 구간부터 차례대로 되어 있지 않아서 (표에서 세 번째 케이스와 같이) 작은 쪽 구간부터 순서를 잡아주려고 newarr를 생성했다.function solution(input) { const mapfn = x => Number(x); var .. 2022. 8. 24.