Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- dvh
- Recoil
- Can't resolve
- Each child in a list should have a unique "key" prop.
- 이미지 데이터 타입
- react-native-dotenv
- ffi-napi
- augmentedDevice
- nextjs
- ELECTRON
- github pdf
- Failed to compiled
- rolldown
- camera access
- react-native
- npm package
- electron-packager
- adb connect
- silent printing
- device in use
- custom printing
- html
- Git
- animation
- vercel git lfs
- github 100mb
- 티스토리 성능
- camera permission
- adb pair
- github lfs
Archives
- Today
- Total
Bleeding edge
[프로그래머스] - 124 나라의 숫자 본문
https://programmers.co.kr/learn/courses/30/lessons/12899#
2단계의 앞부분에 위치하고 있어서 여러번 시도하고 여러번 실패한 문제. 다른분의 풀이를 보니 다른분의 풀이를 보는게 더 나은거 같다.
function solution(n) {
let answer = []
n = n.toString('3');
n = n.split('');
while(n.length!==0){
if(n[n.length-1]!=='0'){
answer.push(n[n.length-1])
n.pop();
}else if(n[n.length-1]==='0'){
answer.push('4')
n.pop();
for(let i=n.length-1;i>=0;i--){
if(n[i]==='0'){
n[i] = '2'
}else if(n[i]==='2'){
n[i] ='1'
break;
}else if(n[i]==='1'){
n[i]='0'
break;
}
}
}
if(n[0]==='0'){
n.shift()
}
}
answer = answer.reverse().join('')
return answer
}
음.. 내풀이의 요약은 3진법으로 바꾸고, 숫자를 하나씩 pop시키고 list에 모은다. pop시킬때 만일 pop 시킨 숫자가 0이라면 4를 대신에 넣고, 앞에있는 숫자에서 1을뺀다, 이때, 뺀 숫자가 0이라면 그 앞의 숫자에 1을 뺀다. 만일 0이 아니라면 break. 하고 리버스 시키고 join 시켰다. 다음번에 풀때는 다른사람의 풀이처럼 풀어봐야겠다
'코딩테스트 공부' 카테고리의 다른 글
[프로그래머스] 행렬의 곱셈 - 자바스크립트 (0) | 2022.04.25 |
---|---|
[프로그래머스] 삼각 달팽이 - 자바스크립트 (0) | 2022.04.20 |
[프로그래머스] 괄호 회전하기 - 자바스크립트 (0) | 2022.04.17 |
[프로그래머스] 땅따먹기 - 자바스크립트 (0) | 2022.04.17 |
[프로그래머스] 이진 변환 반복하기 - 자바스크립트 (0) | 2022.04.15 |