문제https://school.programmers.co.kr/learn/courses/30/lessons/181872?language=javascript 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이"특정문자로 끝나는 가장 긴 문자열" 보자마자 든 생각은 그 문자열을 뒤에서 부터 찾는다.lastIndex 메소드를 이용해서 찾은 다음, 해당 인덱스까지 끊어주고 뒤에 특정문자를 붙여준다. 코드로 작성해보자.function solution(myString, pat) { const lastIndexOf = myString.lastIndexOf(pat); ..
코딩테스트
문제https://school.programmers.co.kr/learn/courses/30/lessons/181893 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이배열을 돌면서 조건에 맞게 slice로 잘라낸걸 다시 할당해준다.이때 주의할 점은 slice는 배열을 자를때 end 인덱스 앞으로 잘린다는 사실 기억해야 된다.function solution(arr, query) { for (i = 0; i
문제 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
문제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/120880 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이절대값의 차이를 비교하고, 같은 수가 있을경우에는 내림차순으로 정렬되게 한다. function solution(numlist, n) { return numlist.sort((a, b) => { const A = Math.abs(a - n); const B = Math.abs(b - n); if (A === B) { return b - a; // 거리가 같을 때는 더..
문제https://school.programmers.co.kr/learn/courses/30/lessons/181921 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이직접구하는건 쉬운데 코드로 짜보는게 더 어렵다..꼼수를 쓰자하니 더 복잡해지는거 같아 정석대로 풀기범위 구간에서 반복문으로 돌면서 5,0이 들어간 애들만 정규식으로 추출해서 true인 경우 배열이 집어 넣는다.function solution(l, r) { let answer = []; for (let i = l; i
문제https://school.programmers.co.kr/learn/courses/30/lessons/120878 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이여러가지 꼼수를 부려보다가 실패해서 결국 정석대로...일단 기약분수를 한번에 만들어 주기 위해서는 분자, 분모의 최대공약수를 구하면 된다.최대공약수를 구한다음 분모를 기약분수로 만들준다 num = b/gcd 기약분수의 분모인 num이 2또는 5만 소인수로 가지고 있어야 되므로2와 5로 계속 나누어 1이 되는지 확인해준다 예시로 10이 기약분수라면 2로 계속 나눴을때 55를 계속 나누었을땐 1 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/120921 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이문자열을 배열로 바꾼 다음 진행한다.A와 B가 같다면 바로 0을 리턴하고같지않다면 pop()으로 맨 뒤의 요소를 떼와 unshift로 맨 앞에 넣어준다. 그 배열을 합쳐서 만들어진 문자열이 B와 같다면 인덱스에 1을 더해 리턴해준다. (밀어낸 문자수니까 1부터 시작)문자열 전체를 밀어도 같지 않다면, -1 을 리턴 해준다.function solution(A, B) { const str = ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/120871 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이3의 저주... 369 게임을 한다고 생각해보면 된다. 이 게임은 직접 해봐야 알 수 있고 패턴을 계산하기에는 어렵다.그래서 컴퓨터에게 369 게임을 시켜보려고 한다. 몇 번째 박수인지 진행되는 단계수 파악, 최종 리턴할 결과 값, 1,2,3,4 ...쭉쭉 이어져갈 숫자step이 n번 진행될때마다 num에는 정상적인 숫자 패턴을 입력해주고 1. 3의 배수2. 3이라는 문자가 포함3. 3의 배..