알고리즘
[프로그래머스] lv1. 특별한 이차원 배열 1
[프로그래머스] lv1. 특별한 이차원 배열 1
2025.04.28[프로그래머스] lv1. 특별한 이차원 배열 1 1. 문제정수 n이 매개변수로 주어질 때, 다음과 같은 n × n 크기의 이차원 배열 arr를 return 하는 solution 함수를 작성해 주세요. arr[i][j] (0 ≤ i, j 제한사항1 ≤ n ≤ 100 입출력 예 #1 2. 풀이function solution(n) { return Array.from({ length: n }, (v, i) => Array.from({ length: n }, (v, k) => i === k ? 1 : 0))} 3. 시간복잡도O(N²) → 최악의 경우에도 O(100²) = O(10,000)
[Softeer] lv1. 나무심기 / Javascript
[Softeer] lv1. 나무심기 / Javascript
2025.04.281. 문제남우는 나무를 2개 심으려고 합니다. 나무는 주어진 n개의 위치 중 서로 다른 두 곳에 꼭 심어야만 하며, 1번 위치부터 n번 위치까지 각 위치마다 토양의 비옥함에 해당하는 값 Fi가 주어졌을 때 남우는 나무가 심어지는 두 위치 a, b에서 토양의 비옥함의 곱인 Fa ∗ Fb가 최대가 되도록 나무를 심으려고 합니다. 남우가 적절한 위치에 나무를 심을 수 있도록 하는 프로그램을 작성해보세요. 만약 n이 3이고 다음과 같이 토양의 비옥함이 순서대로 5, -1, 4인 경우 5, 4 위치에 나무를 심으면 비옥함의 곱이 20으로 최대가 됩니다. 본 문제의 저작권은 (주)브랜치앤바운드에 있으며, 저작자의 동의 없이 무단 전재/복제/배포를 금지합니다.제약조건2 ≤ n ≤ 100-100 ≤ Fi ≤ 100입..
[Algorithm] 프로그래머스 > 핸드폰 번호 가리기
[Algorithm] 프로그래머스 > 핸드폰 번호 가리기
2020.12.28[Algorithm] 프로그래머스 > 핸드폰 번호 가리기 문제 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 * 으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 - s는 길이 4 이상, 20이하인 문자열입니다 입출력 예 phone_number return "01033334444" "*******4444" "027778888" "*****8888" 풀이 function solution(phone_number) { const length = phone_number.length; return [...phone_number]..
[Algorithm] 프로그래머스 > 콜라츠 추측
[Algorithm] 프로그래머스 > 콜라츠 추측
2020.12.27[Algorithm] 프로그래머스 > 콜라츠 추측 문제 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. - 1-1. 입력된 수가 짝수라면 2로 나눕니다. - 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. - 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어, 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야하는지 반환하는 함수, solution을 완성해 주세요. 단, 작업을 500번을 반복해도 1이 되지 않는다면 –1을 반환해 주세요. 제한 조건 - 입력된 수, ..
[Algorithm] 프로그래머스 > 같은 숫자는 싫어
[Algorithm] 프로그래머스 > 같은 숫자는 싫어
2020.12.13[Algorithm] 프로그래머스 > 같은 숫자는 싫어 문제 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한 조건 배열 arr의 크기 : 1,000,000 이하의 ..
[Algorithm] 프로그래머스 > 두 정수 사이의 합
[Algorithm] 프로그래머스 > 두 정수 사이의 합
2020.12.09[Algorithm] 프로그래머스 > 두 정수 사이의 합 문제 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. https://programmers.co.kr/learn/courses/30/lessons/12912 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 입출력 예 a b return 3 5 12 3 3 3 5 3 12 풀이 function solution(a, b) { if(a === b) { retu..