문제 링크 programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 풀이 자바스크립트는 진법 변환을 지원합니다. toString() 메소드는 일반적으로는 수를 string으로 바꿔주는 함수이지만, 기수를 인자로 주면 그에 맞는 진수로 변환해줍니다. parseInt() 함수는 string을 수로 바꿔주는 함수이며, string이 몇 진수인지 기수를 인자로 주면 그에 맞춰 10진수로 변환해..
문제 링크 programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 풀이 모든 쌍을 배열에 넣고 정렬해줍시다. 이때, include()를 이용하여 존재하지 않는 원소일 때만 넣어줍니다. 정답 코드 unction solution(numbers) { const p = []; for(let i=0; i
문제 링크 programmers.co.kr/learn/courses/30/lessons/70128 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr 풀이 reduce 함수를 이용해 쉽게 구현합시다. 정답 코드 function solution(a, b) { return a.reduce((ans, cur, i) => ans + a[i] * b[i], 0); }
문제 링크 programmers.co.kr/learn/courses/30/lessons/72410?language=javascript# 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 자바스크립트 연습 겸 프로그래머스 레벨 1 문제들을 풀어보고 있습니다. 이 문제를 C++로 풀 때는 몰랐는데 막상 풀어보니 정규표현식에 입문하기 너무 좋은 문제입니다. 이리저리 검색해보면서 정규표현식이 되게 친숙해졌습니다. 이게 복잡해 보여서 그렇지 정규식 생각보다 어렵지 않습니다.. 우선 전체적인 코드는 이렇습니다. f..
문제 링크 www.acmicpc.net/problem/1086 1086번: 박성원 첫째 줄에 정답을 기약분수 형태로 출력한다. p/q꼴로 출력하며, p는 분자, q는 분모이다. 정답이 0인 경우는 0/1로, 1인 경우는 1/1로 출력한다. www.acmicpc.net 풀이 문제를 해결하기에 다음과 같은 어려움이 있습니다. 1) 모든 순열을 고려해봐야 하는데 O(N!)이라 경우의 수가 너무 많습니다. 2) 순열을 합친 큰 정수가 커도 너무 큽니다. 최대 750자리 수입니다. 수가 너무 큰데?? 2번 문제부터 해결해봅시다. 사실 우리는 정확한 수를 알고 있을 필요가 없습니다. 결국 알고 싶은 사실은 어떤 수 x가 k로 나누어 떨어지는지입니다. 이를 백준 8111 - 0과 1 문제와 같은 방식으로 ..