일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- codesandbox
- 리액트
- 프로그래밍 언어론
- 코딩테스트 고득점 Kit 완전탐색
- 백준
- react firebase
- JavaScript
- design pattern
- NextJS
- React JS
- 디자인 패턴
- useEffect
- 자바
- react hook
- 장고
- 프로그래머스 완전탐색
- 프로그래머스 자바
- 리액트 훅
- websocket
- react
- 프로그래머스
- 컴퓨터 네트워크
- Java
- 코틀린
- vanillaJS
- 코딩테스트 고득점 Kit
- useState
- 자바 공부
- 자바스크립트
- 데이터모델링과마이닝
Archives
- Today
- Total
기록하는 개발자
[프로그래머스][코딩테스트 고득점 Kit][Javascript] N으로 표현 본문
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42895?language=javascript
function solution(N, number) {
let answer = -1;
function bfs(now,count){
// count가 8보다 커지면
// -1 return 후 재귀 종료
if(count>8){
answer = -1;
return;
}
// 현재 숫자가 타겟 넘버와 동일한 경우
if(now==number){
// answer가 초기값이거나
// 현재 count보다 큰 경우 값 갱신 후
// 재귀 종료
if(answer == -1 || answer > count){
answer=count;
}
return;
}
let base = N;
// base가 길어진 만큼 for문 종료 조건 감소
for(let i = 0; i<8-count; i++){
bfs(now + base, count+i+1);
bfs(now - base, count+i+1);
bfs(now / base, count+i+1);
bfs(now * base, count+i+1);
// 5 -> 55 -> 555
base = base*10+N;
}
}
bfs(0,0)
return answer;
}
728x90
'Algorithm' 카테고리의 다른 글
[프로그래머스][코딩테스트 고득점 Kit][Javascript] 소수 찾기 (0) | 2023.08.13 |
---|---|
[프로그래머스][코딩테스트 고득점 Kit][Javascript] 더 맵게 (0) | 2023.08.10 |
[프로그래머스][코딩테스트 고득점 Kit][Javascript] 올바른 괄호 (0) | 2023.08.10 |
[프로그래머스][코딩테스트 고득점 Kit][Javascript] 최소직사각형 (0) | 2023.08.10 |
[프로그래머스][코딩테스트 고득점 Kit][Javascript] 같은 숫자는 싫어 (0) | 2023.08.09 |