프로그래머스, 자바스크립트) 코드 처리하기
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181932 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이반복문을 돌며 조건에 맞게 짜준다.function solution(code) { let mode = 0; // 초기 모드는 0 let ret = ""; // 결과 문자열 초기화 for (let idx = 0; idx
프로그래머스, 자바스크립트) OX퀴즈
·
개발/알고리즘(코딩테스트)
문제https://school.programmers.co.kr/learn/courses/30/lessons/120907 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이eval을 사용해서 풀면 간단하겠지만, 실제 코드에서 eval은 악성 버그를 유발시킬수도 있기에 사용을 자제하는 편이다.(eval은 문자열 수식을 넣으면 계산해주는 함수, ex. eval("1+1") //2 ) split 으로 공백을 기준으로 쪼갠 후 구조분해 할당을 통해 하나씩 어떤 값을 의미하는지 적어보자.적어놓고 나면 if문으로 분리해서 쉽게 풀 수 있다. function solutio..
프로그래머스, 자바스크립트) 다항식 더하기
·
개발/알고리즘(코딩테스트)
문제https://school.programmers.co.kr/learn/courses/30/lessons/120863 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이음...더 좋은 방법을 찾고싶다.일단 "3x + 1" 이런식으로 연산기호 사이에 공백이 존재하니 공백을 기준으로 쪼개 배열을 만든다. => ["3x","+","1"]3x 같이 일차항인 경우 x를 포함하고 있다면 ~ 으로 조건을 달아 일차항에 누적해준다. 그외는 isNaN의 반례, 즉 기호가 아닌 숫자가 오는 경우 상수항에 더해준다. isNaN(+) => trueisNaN(7) => false..
프로그래머스, 자바스크립트) 치킨 쿠폰
·
개발/알고리즘(코딩테스트)
문제https://school.programmers.co.kr/learn/courses/30/lessons/120884 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이우선 서비스 치킨은 0, 쿠폰의 수는 치킨 수로 설정한다.이 동작은 쿠폰이 10개 이상일때 계속 반복되어야 하니 while문을 사용한다.쿠폰이 10장 생기면 서비스 치킨을 받을 수 있으니 서비스는 = 쿠폰/10장 반내림으로 설정하고 이때 쿠폰의 수는 10으로 나눴을때 나머지 + 서비스 치킨으로 받은 쿠폰 으로 계산해준다. 이 과정을 쿠폰이 10장 미만이라 치킨을 더 이상 시켜먹지 못할 때까지..
프로그래머스, 자바스크립트) 전국 대회 선발 고사
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181851 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 일단..문제를 보고 든 생각, 배열에서 true만 뽑아 랭크 : 번호 로 할당된 객체를 만든다. 객체는 key가 숫자일 경우 자동적으로 오름차순 정렬되기 때매 랭크 순서대로 정렬된 값을 구할 수 있다. 다음 Object.values 를 통해 배열로 변경해 순서대로 3개를 꺼낸다 (무조건 3개 이상의 값을 가진다는 조건이 있으니 등수가 모자랄 경우는 고려하지 않음) function so..
프로그래머스, 자바스크립트) 등수 매기기
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120882 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 일단 배열을 돌며 평균 점수로 바뀐다. 점수를 sort를 통해 크기 순서대로 정렬한 다음 해당 배열에 해당하는 인덱스를 찾아 낸다 => 등수!! function solution(score) { const avg = score.map((test) => test.reduce((a, b) => a + b, 0) / test.length); const sortedAvg = [...avg].s..
프로그래머스, 자바스크립트) 종이 자르기
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120922 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제만 언뜻 보면 어려워 보이지만 규칙을 찾아보면 간단하다. 2x2 사이즈를 자르면 4조각이 나온다. 이때 가위질은 3번 2x5 사이즈를 자르면 10조각이 나온다. 이때 가위질은 9번... 그러면 MxN 조각을 자르면? MN 조각이 나온다. 이때 가위질은 M*N -1 번 이라는 규칙이 생긴다. 그림을 그려서 생각해보면 더 간단하다. 처음 한번에 쭉 자르고 난 후 조각조각 자르면 된다...
프로그래머스, 자바스크립트) 문자 개수 세기
·
개발/알고리즘(코딩테스트)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181902 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 A-z까지 문자열을 돌면서 해당 문자열의 수만큼 배열에 push해준다. function solution(my_string) { const answer = []; const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; for (let i = 0; i < alphabet.length; i++) { answer.pu..