알고리즘 26

[프로그래머스/JavaScript] 피보나치 수

https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 문제 자체는 어렵지 않은데, 자꾸 오답이 나와서 프로그래머스 질문하기 를 이용했던 문제이다 피보나치 하면 재귀함수로 구현하는 것이 제일 먼저 생각나서, 나도 처음에는 재귀함수로 풀었었는데 시간초과와 런타임에러가 나서 for문을 이용하여 각각의 값을 계산해 배열에 넣어주는 방식으로 바꿨다 코드 실행하기를 누르면 전부 정답이고, 제출했을 때도 6번까지는 맞는데 왜 7번부터 오답이 나는지 이..

[프로그래머스/JavaScript] 3진법 뒤집기

https://school.programmers.co.kr/learn/courses/30/lessons/68935 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 사실은 예전에 자바스크립트로 푼 문제인데 새로 풀어보니 또 다른 방식으로 풀게 되었다 자바스크립트에서 진법 변환하는 건 그렇게 어렵지 않은데 막상 써먹으려고 하면 잘 기억이 안 나서 😥 어쩔 수 없이 숫자 하나하나 진법 변환을 해주었지만 나름대로 의미가 있는 것 같아 풀이를 써보겠다 단순하게 인자로 받은 값을 우선 3진수로 바꿔주었다 3으로 나눈 나머지를 tmp 라는 배열에 저장한 후,..

[프로그래머스/JavaScript] JadenCase 문자열 만들기

https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 요새 통 풀이를 적지 못했다..! 사실 문제는 좀 풀었는데, 풀이 적는 것에 권태기가 와서,, 많이 밀려있다 그래도 복기하는 것이 중요하니 오늘부터 열심히 적어봐야겠다! 레벨1을 자바스크립트로 얼추 다 풀고, 레벨 2 푸는 중 아직까지는 정답률이 높은 문제만 풀고 있어서 큰 난관은 없다! 이번 문제는 저번에 풀었던 문제랑 비슷한 것 같다 이상한 문자열 만들기 였나, 그거랑 비슷한 것 같..

[프로그래머스/JavaScript] 2016년

https://school.programmers.co.kr/learn/courses/30/lessons/12901 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 이 문제는 우선 두개의 배열을 먼저 만들었다 하나는 요일을 출력하기 위해 요일 출력문구를 담아놓은 배열(days)이고, (이 배열은 금요일부터 목요일의 순으로 만듦. 1월 1일이 금요일이라는 설정때문에!) 다른 하나는 12개월동안의 한달의 날짜 수(cal)이다. 우선 인자로 받는 월, 즉 a 이전 달까지 날짜 수를 더해준다. 배열로 돌리면 금방 돌리고, 바로 거기에 ~일, 을 나타내는 ..

[프로그래머스/JavaScript] 폰켓몬

https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 시험이 끝나고 오랜만에 푸는 알고리즘.. 처음에는 어떤 식으로 문제를 풀어야 할지 막막했으나, '같은 종류' 의 폰켓몬이라는 말을 보고 생각해냈다! 인자로 받는 배열에서 중복되는 요소들을 빼주고, 중복된 요소를 제외한 배열의 길이와 nums(인자로 받는 배열)/2 를 비교해 적절하게 출력해주면 되는 문제! 이전에 set인가 map으로 중복 제거를 했던 것 같은데 잘 기억이 나지 않아서, ..

[프로그래머스/JavaScript] 수박수박수박수박수박수?

https://school.programmers.co.kr/learn/courses/30/lessons/12922 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 사실 이건 레벨1의 대표적인 문제라고 할 수 있어서 별 생각없이도 풀 수 있지만 새로운 함수를 알게 되어서 작성한다! 💜repeat 함수 repeat 함수는 ES6부터 문자열에 추가된 함수이다. 문자열을 주어진 횟수만큼 반복하여 새로운 문자열을 반환한다! 매개 변수는 양의 정수만 가능하며, 소수일 경우 정수로 자동으로 변환된다. 원래 문자열의 값은 변경되지 않는다! let name = ..

[프로그래머스/JavaScript] 정수 내림차순으로 배치하기

https://school.programmers.co.kr/learn/courses/30/lessons/12933?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 해당 문제도 앞선 '약수의 합' 문제처럼 쉬운 레벨1문제! (요즘 레벨1을 그냥 마스터하기 위해 후딱후딱 해치우는 중이다) 하지만 약수의 합 문제처럼 새로운 안 사실을 기억해두기 위해 기록한다 문자열을 spread 문법을 통해 배열로 만들 수 있다는 것! 자료는 이 글을 참고했는데, 사실 문자열을 배열로 만들 수 있는 방법은 다양하지만 배열의 불변성 ..

[프로그래머스/JavaScript] 프린터

https://school.programmers.co.kr/learn/courses/30/lessons/42587?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 평소에 배열 함수를 pop shift 이런 것만 사용했었는데, 이번에 처음 every 를 활용해서 문제를 풀어보았다! 뭔가 뿌듯,, 다른 분들은 some 을 주로 사용하셨던데 some은 1개라도 제일 첫번째 우선순위보다 크면 true를 리턴해서 좀 더 효율적이라 그런가..? 라는 생각이 들었다 나중엔 some을 활용해보는 걸루.. 👀 찾아보니 내가 e..

[프로그래머스/c++] 기능개발

https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 1) 풀이 작업의 진행상황(progresses)과 진행속도(speeds)가 들어있는 벡터가 각각 하나씩 주어진다. 벡터 사이즈와 작업의 인덱스(ex. progresses idex 0에 들어있는 작업=speeds idex 0에 들어있는 작업) 가 동일하므로, 각각의 벡터에 동일한 인덱스의 값을 확인하고 작업을 완료할 때까지의 날짜를 구하면 된다. 우선, 1..

[프로그래머스/c++] 프린터

https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 이래저래.. 정신없어서 블로그에 글을 못 썼다! 자취방도 드디어 구하고 키키 다시 열심히 공부해야지 1) 풀이 우선, 가장 앞에 있는 문서를 빼고 중요도를 확인한 뒤 마지막에 넣거나 인쇄하는 과정이 필요하므로 큐(queue)를 이용해서 푸는 문제임을 알 수 있다. priorities에 있는 문서를 큐에 모두 저장하고 빼고 넣는 과정을 진행하면 된다. 하지만 한 가지..

728x90