프로그래머스

    2021 Dev-Matching: 웹 프론트엔드 개발자(하반기) 후기

    2021 Dev-Matching: 웹 프론트엔드 개발자(하반기) 후기

    2021 Dev-Matching: 웹 프론트엔드 개발자(하반기) 접수 21년 08월 17일 11:00 ~ 09월 03일 17:00 테스트 21년 09월 04일 14:00 ~ 09월 04일 17:00 programmers.co.kr 일정 2021년 09월 04일에 14:00 ~ 17:00까지 3시간 동안 진행된 과제테스트 입니다. 언어 라이브러리나 프레임워크 없이 vanilla javascript만 사용할 수 있습니다. 유형 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [프론트엔드] 고양이 사진첩 애플리케이션 프로그래머스에서 제공하는 문제와 동일한 유형입..

    프로그래머스 코딩테스트 연습 Level1 - 문자열 내 p와 y의 개수 [ javascript ]

    프로그래머스 코딩테스트 연습 Level1 - 문자열 내 p와 y의 개수 [ javascript ]

    코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 programmers.co.kr 정규표현식을 사용해 최대한 짧게 처리해보려 했으나 (p가 없을 때, y가 없을때) false, (py 둘 다 없을 때를 다르게)true로 처리해줘야해서 조건문으로 나누었습니다. const solution = s => { if (!s.match(/[py]/gi)) return true; if (!s.match(/p/gi) || !s.match(/y/gi)) return false; return..

    프로그래머스 코딩테스트 연습 Level1 - 약수의 개수와 덧셈 [ javascript ]

    프로그래머스 코딩테스트 연습 Level1 - 약수의 개수와 덧셈 [ javascript ]

    코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr n의 약수는 1, x, x, x..., n 이렇게 양쪽으로 짝이 생기면서 생기고 정수의 제곱근 값이 존재하는 경우는 짝이 존재하지 않는 약수가 됩니다. 그래서 정수의 제곱근 값이 없는 경우는 약수의 개수가 짝수가 되고 정수의 제곱근이 있는 경우는 약수의 개수가 홀수가 됩니다. const solution = (left, right) => { let answer = 0; for (let i = left; i

    프로그래머스 코딩테스트 연습 Level1 - 실패율 [ javascript ]

    프로그래머스 코딩테스트 연습 Level1 - 실패율 [ javascript ]

    코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 조건에 맞춰서 배열을 생성해서 실패율을 구한 후 인덱스를 기록하고 정렬하였습니다. const solution = (N, stages) => { let userLen = stages.length; return stages .reduce((arr, stage) => { if (stage { const t = el / userLen; userLen -= el; return { loss: t, idx }; }) .sort((a, b) => b.loss - a.loss)..

    프로그래머스 위클리 챌린지 4주차 - 직업군 추천하기 [ javascript ]

    프로그래머스 위클리 챌린지 4주차 - 직업군 추천하기 [ javascript ]

    코딩테스트 연습 - 4주차_직업군 추천하기 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr 정렬을 위한 데이터를 뽑아내고 조건에 맞게 정렬하였습니다. const solution = (table, languages, preference) => { return table .map(r => { const row = r.split(" ").reverse(); const name = row.pop(); const score = languages.reduce( (acc, language, idx) => (acc += (row.indexOf(lan..

    프로그래머스 코딩테스트 연습 Level1 - 3진법 뒤집기 [ javascript ]

    function solution(n) { let ternary = ''; while (n !== 0) { ternary = n % 3 + ternary; n = Math.floor(n / 3); } return Array.from(ternary) .map((_, $) => _ * Math.pow(3, $)) .reduce((_, $) => _ + $, 0); } Array.from() 메서드는 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운Array 객체를 만듭니다. map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다. reduce() 메서드는 배열의 각 요소에 대해 주..

    프로그래머스 코딩테스트 연습 Level2 - 단체 사진 찍기 [ Java ]

    프로그래머스 코딩테스트 연습 Level2 - 단체 사진 찍기 [ Java ]

    나올 수 있는 경우의 수가 8! = 40320이고 조건이 최대 100개밖에 되지 않으므로 모든 경우의 수에 대한 모든 조건을 확인한다고 해도 4032000번만 확인하면 되므로 모든 경우의수를 확인합니다. class Solution { static boolean[] visited = new boolean[127]; // 캐릭터 사용 여부 ex visitd['A'] = true : 어피치 방문함 static int[] position = new int[127]; // 캐릭터의 위치 ex position['A'] = 0 'A'는 0번에 있다. static int count = 0; static boolean check(String[] data) { for (String str : data) { char a =..

    프로그래머스 코딩테스트 연습 Level4 - 우유와 요거트가 담긴 장바구니 [ Mysql ]

    코딩테스트 연습 - 우유와 요거트가 담긴 장바구니 CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가 programmers.co.kr 셀프 조인을 이용하여 풀었습니다. SELECT distinct a.CART_ID from CART_PRODUCTS a, CART_PRODUCTS b where a.CART_ID = b.CART_IDAND a.NAME = 'Milk' AND b.NAME = 'Yogurt' order by a.CART_ID​

    프로그래머스 코딩테스트 연습 Level2 - 점프와 순간 이동 [ Java ]

    코딩테스트 연습 - 점프와 순간 이동 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈 programmers.co.kr try 1 dp 문제라고 생각해서 bottom 방식의 dp로 풀었다 n번째 항 = 짝수일 경우 n/2번째 항 홀수일 경우 n/2번째 항 + 1 과 n-1 번째 항중에 작은 값 메모리 초과와 시간초과가 발생했다. public class Solution { public int solution(int n) { int d[] = new int[n+1]; d[0] = 0; for (int i = 1; i

    프로그래머스 코딩테스트 연습 Level2 - 영어 끝말잇기 [ Java ]

    코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr 반복문을 돌 때, 체크를 합니다. 1. 이전 단어의 마지막 글자와 현재 단어의 첫 글자가 일치하는지 2. 현재 단어가 hashset에 포함되어있는지 ( 중복검사 ) 3. 단어의 길이가 1..