Algorithm/Programmers

    [JS][프로그래머스]3진법 뒤집기

    문제 번호 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 알고리즘 분류 문제 풀이 parseInt는 특정 문자열을 분석하고 특정 진법수로 전환하여 표현할 수 있다. Number.parseInt() - JavaScript | MDN Number.parseInt() 메서드는 문자열을 분석하고 특정 진수를 사용한 정수로 변환해 반환합니다. developer.mozilla.org join 메서드는 반환값이 문자열이다. 전체 코드 function solution(n) {..

    [JS][프로그래머스]1차_비밀지도

    문제 번호 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 알고리즘 분류 문제 풀이 toString(2)를 사용해서 원하는 숫자를 2진수로 변환하면 가장 큰 자리수가 0번 인덱스에 들어가게된다. 그래서 문제에서 주어진 숫자들을 2진수로 변환하고 reverse()를 사용하여 뒤집는다. let first = arr1[i].toString(2).split('').reverse(); let second = arr2[i].toString(2).split('').reverse(); 그리고 이 결과로 만들어진 배열..

    [JS][프로그래머스]나누어 떨어지는 숫자 배열

    문제 번호 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하 programmers.co.kr 알고리즘 분류 문제 풀이 문제의 내용은 어려운게 없었다. 문제에서 주어지는 숫자들을 모두 검사하여 문제에서 주어진 또 다른 숫자로 나누어 떨어지는지만 검사하면 된다. 이때 Array 프로토타입인 sort 메서드를 이용하였는데 sort 함수의 기본 비교조건은 배열의 각 요소의 문자열 변환에 따라 각 문자의 유니 코드 코드 포인트 값에 따라 정렬된다고한다. 처음엔 이걸 몰라서 그냥 sor..

    [C++][프로그래머스]연습문제_N개의 최소공배수

    문제 번호 https://programmers.co.kr/learn/courses/30/lessons/12953?language=cpp 코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배 programmers.co.kr 알고리즘 분류 수학 문제 풀이 예전에 풀어보았던 문제랑 비슷하다. 이 문제를 해결하기 위해서는 최대 공배수를 구하는 유클리드 호제법(GCD)을 알 필요가 있다. 간단하게 GCD는 2개의 자연수 또는 정식의 최대 공약수를 구하는 알고리즘이다. GCD : int gcd(int a, int ..

    [JS][프로그래머스]연습문제_직사각형 별찍기.

    문제 번호 https://programmers.co.kr/learn/courses/30/lessons/12969?language=javascript 코딩테스트 연습 - 직사각형 별찍기 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수 programmers.co.kr 알고리즘 분류 입출력. 문제 풀이 특별한 알고리즘은 없다. 문제에서 주어지는 n과 m을 받아서 직사각형 모양으로 별을 출력하면 된다. process.stdin.setEncoding('utf8'); process.stdin.on('data', data => { const n = data.s..