월간코드챌린지

문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한 사항 3 ≤ n ≤ 1,000,000 문제 풀이 방법 단순 반복을 통한 완전탐색 알고리즘으로 생각되는 문제이다. for문을 이용해 2부터 시작하여 n미만의 수 까지 반복하여 나누었을 때 나머지가 1이되는 수를 찾자 내가 작성한 코드 function solution(n) { // 낮은 수 부터 시작하는 반복문을 생각하고 코드를 작성해 보자(단순반복) for(let i=2; i
문제 설명 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요. 제한 사항 s의 길이는 1 이상 150,000 이하입니다. s에는 '1'이 최소 하나 이상 포함되어 있습니다. 문제 풀..
문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한 사항 n은 1 이상 100,000,000 이하인 자연수입니다. 문제 풀이 방법 우선 받은 수를 n.toString(3)을 사용해 3진법으로 바꿔준다. 3진법으로 바꾼뒤 배열에 펼침연산자를 이용해 넣어주고 reverse()로 뒤집은 다음 join('')으로 합쳐준다. 이러면 3진법으로 바뀐뒤 뒤집힌 문자열이 나오는데, 이를 정수형으로 바꿔주면 된다. parseInt(바꿔줄 수, 바꿀 수의 진수형태) 코드 function solution(n) { let arr = [...n.toString(3)] const tNum = arr..
58청춘
'월간코드챌린지' 태그의 글 목록