programmers (5) 썸네일형 리스트형 [프로그래머스] Lv2. 카펫 (javascript) 노란 바탕에 갈색 테두리를 가진 카펫의 사이즈(격자수) 구하기 규칙 중앙에는 노란색으로 칠해져 있고, 테두리 1줄은 갈색으로 칠해져있는 격자모양 카펫 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 깁니다. 나의 풀이 노란색 카펫의 사이즈만 결정되면, 갈색사이즈는 쉽게 구할 수 있음 노란색 카펫의 격자수(x, y) -> 갈색 테두리 (x*2 + y*2 + 4; 여기서 4=모서리값) x(가로)를 1부터 하나씩 증가시키며 yellow/x (y;세로) 값과 비교 가로길이가 세로길이와 같거나 큰 경우, 예상되는 갈색테두리 사이즈(tmp)를 계산 .. [프로그래머스] Lv1. 최소직사각형 (javascript) 다양한 사이즈의 명함을 넣을 수 있는 최소 직사각형의 크기 구하기 제한사항 sizes의 길이는 1 이상 10,000 이하입니다. sizes의 원소는 [w, h] 형식입니다. w는 명함의 가로 길이를 나타냅니다. h는 명함의 세로 길이를 나타냅니다. w와 h는 1 이상 1,000 이하인 자연수입니다. 나의 풀이 각 명함의 사이즈(sizes)들 중 큰 값을 w, 작은 값을 h 로 각각 저장 w와 h의 최댓값을 구하여 곱함 function solution(sizes) { const {w, h} = sizes.reduce((a, b) => { b.sort((a, b) => +a > +b ? -1 : 0); a['w'].push(+b[0]); a['h'].push(+b[1]); return a; }, {w: [.. [프로그래머스] Lv2. 두 큐 합 같게 만들기 (javascript) 두개의 큐(queue1, queue2)합이 같아지기위한 이동횟수를 구하라 큐는 FIFO(first-in, first-out) 방식으로 처리 시간초과가 발생하여 해법 검색 후 수행 -> 투포인터 알고리즘 활용 조건 길이가 같은 두 개의 큐를 나타내는 정수배열 queue1, queue2가 매개변수로 주어짐 각 큐의 원소의 합을 같게 만들기 위해 필요한 작업의 최소횟수를 반환 단, 어떤 방법으로도 각 큐의 원소 합을 같게 만들 수 없는 경우 -1 반환 제한사항 1 ≤ queue1의 길이 = queue2의 길이 ≤ 300,000 1 ≤ queue1의 원소, queue2의 원소 ≤ 109 주의: 언어에 따라 합 계산 과정 중 산술 오버플로우 발생 가능성이 있으므로 long type 고려가 필요합니다. 나의 풀이 .. [프로그래머스]Lv1. 신규 아이디 추천 (javascript) 입력된 아이디로부터 규칙에 맞는 아이디 추천 규칙 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. 2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. 3단계 new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다. 4단계 new_id에서 마침표(.)가 처음이나 끝에 위치한다면 제거합니다. 5단계 new_id가 빈 문자열이라면, new_id에 "a"를 대입합니다. 6단계 new_id의 길이가 16자 이상이면, new_id의 첫 15개의 문자를 제외한 나머지 문자들을 모두 제거합니다. 만약 제거 후 마침표(.)가 new_id의 끝에 위치한다면 끝에 위치한 마침표(.) 문자를 제거합니다. 7단계.. [프로그래머스]Lv1. 로또의 최고 순위와 최저 순위 (javascript) 6자리의 로또의 번호 중 일부를 알아볼 수 없을 때, 최고순위 최저순위 구하기 등수 순위당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(낙첨) 그 외 제한사항 lottos는 길이 6인 정수 배열입니다. lottos의 모든 원소는 0 이상 45 이하인 정수입니다. 0은 알아볼 수 없는 숫자를 의미합니다. 0을 제외한 다른 숫자들은 lottos에 2개 이상 담겨있지 않습니다. lottos의 원소들은 정렬되어 있지 않을 수도 있습니다. win_nums은 길이 6인 정수 배열입니다. win_nums의 모든 원소는 1 이상 45 이하인 정수입니다. win_nums에는 같은 숫자가 2개 이상 담겨있지 않습니다. win_nums의 원소들은.. 이전 1 다음