본문 바로가기

분류 전체보기

(177)
[23번][중급] 시저암호 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 답 [pseudo code] 1. a~z를 list로 만들기 list 만들 때, 2배로 만들기 2. 입력받은 s의 각 자리수를 돌면서 ref.indexOf(s[i])를 찾아 n만큼 더한 index 값을 넣어 s를 replace - 이때, 대소문자 구분, 그리고 공백 처리를 해줘야 함 function solution(s, n) { let answer = ""; ref = "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 " .repeat(2) .trim() .s..
[24번][중급] 신규 아이디 추천 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 답 [instruction] 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다 2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. 3단계 new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다. 4단계 new_id에서 마침표(.)가 처음이나 끝에 위치한다면 제거합니다. 5단계 new_id가 빈 문자열이라면, new_id에 "a"를 대입합니다. 6단계 new_id의 길이가 16자 이상이면, ne..
[23번][중급] 시저암호 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 답 [pseudo code] 1. a~z를 list로 만들기 list 만들 때, 2배로 만들기 2. 입력받은 s의 각 자리수를 돌면서 ref.indexOf(s[i])를 찾아 n만큼 더한 index 값을 넣어 s를 replace function solution(s, n) { let answer = ""; ref = "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 " .repeat(2) .trim() .split(" "); for (let i = 0; i < s..
[22번] [중급] 숫자 문자열과 영단어 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 답 [pseudo code] 1. {num : 숫자, str: "number"} obj 리스트 생성 2. obj 리스트를 돌면서 s가 obj[i].str을 가지고 있으면, replaceAll을 사용해서 바꿔주기 3. parseInt(s) function solution(s) { const obj = [ { num: 0, str: "zero" }, { num: 1, str: "one" }, { num: 2, str: "two" }, { num: 3, str: "three" }, { num: 4, str: ..
[31번][중급] 소수 찾기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이제는 "문제"라고 타이틀도 적을 여유가 없어졌다고 합리화 하고 있지만.. 사실 귀찮아서 그만 적는다ㅋㅋ 풀이 * 소수 찾기 * 2 ~ n 중 소수 찾아 반환하기 (1과 자기 자신으로만 나눠지는 숫자) * 로직 : 2 ~ n 사이의 각 값에 대해 2 ~ 제곱근 값 사이의 숫자로 나눴을 때, 나머지가 0이라면, prime이 아님 -> 낮으 자리 수 부터 검증을 시작해서 prime arr에 넣어주며 진행 -> prime arr에 있는 숫자로 검증을 하면 효율성이 높아질 것 같음 [pseudo code] 1. pr..
[2주차][20221122] 알고리즘 문제 풀이 오늘도 알고리즘 문제풀이를 진행했다. 22번 ~ 30번까지 풀이를 완료했다. 중간에 모의고사 문제도 풀고 왔는데, 어제 밤에 풀고 잔 21번 소수만들기 문제에서 구현했던 터라 쉽게 풀 수 있었다. 아래는 문제 풀이 포스팅 링크다. [22번] [중급] 숫자 문자열과 영단어 [23번][중급] 시저암호 [24번][중급] 신규 아이디 추천 [25번][중급] 약수의 개수와 덧셈 [26번][중급] 약수의 합 [27번][중급] 예산 [28번][중급] 최대공약수와 최소공배수 [29번][중급] K번째 수 [30번][중급] 나머지가 1이 되는 수 찾기 [31번][중급] 소수 찾기 TIL 오늘으 최대한 많은 문제를 풀어보려고 노력했고, 목표한 번호인 30번까을 초과하여 풀었다. 풀면서 특히 재미 있었던 문제는 31번 소수 ..
[21번] [중급] 소수 만들기 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 답 [pseudo code] => 이 방법은 정확성은 맞지만, 런타임 에러로 통과를 못함 1. for 3중첩문을 사용해 세자리 숫자의 합으로 만들어지는 모든 숫자를 sumArr에 담는다 2. sumArr의 숫자가 소수인지 판별해줄 재귀함수 - 2 ~ Math.sqrt(숫자)까지 factor 배열에 담아준다. 이때, 배열에는 2를 제외한 모든 짝수를 제거 - factor 안에 담긴 값이 factor 안에 담긴 다른 값의 배수라면 이를 삭제 - sumArr의 숫자를 모든 factor 값으로 나눴을 때 ..
[20번] [중급] 문자열 내림차순으로 배치하기 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 답 [pseudo code] 1. string 값을 spread 연산자를 사용해서 배열로 만들고 2. 알파벳 역순으로 sort() 함수를 사용 - sort(a, b) 함수의 경우, a와 b의 문자열 유니코드 값을 비교하면, 대문자가 큰 숫자로 나옴 3. 순서를 맞춘 배열을 join("")으로 다시 stringify function solution(s) { return [...s] .sort((a, b) => { if (a > b) { return -1; } else if (a < b) { retur..