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
- device in use
- camera permission
- adb pair
- ffi-napi
- adb connect
- github lfs
- Recoil
- rolldown
- electron-packager
- Failed to compiled
- custom printing
- vercel git lfs
- Can't resolve
- ELECTRON
- animation
- 이미지 데이터 타입
- nextjs
- Each child in a list should have a unique "key" prop.
- github pdf
- silent printing
- react-native-dotenv
- html
- npm package
- 티스토리 성능
- Git
- camera access
- react-native
- github 100mb
- augmentedDevice
Archives
- Today
- Total
Bleeding edge
[프로그래머스] [3차] n진수 게임 - 자바스크립트 본문
https://programmers.co.kr/learn/courses/30/lessons/17687
풀이시간 : 16분
아이디어 : 주어진 조건의 숫자가 많기 때문에, MAX치를 계산하고 그에 맞는 값을 구해도 된다.
플로우 :
1. 구해야하는 수와, 인원수를 곱하면, 튜브가 이야기해야하는 숫자보다 크기에 그 숫자를 구한다.
2. 튜브의 순서를 구한다 튜브의 순서는 p-1이다 (array는 순서가 0부터 시작하기에)
3. for문으로, 1에서 구한숫자만큼을, String에 계속 붙인다
(만일 2진법을 3까지붙인다면, 011011)
4. for문으로, 만일 튜브의 숫자가 나온다면, answer에 해당하는 글자를 붙인다.
주의사항 : 알파벳은 대문자로 붙여야하니 toUpperCase()를 붙인다.
로 풀면 쉽게 풀리는 문제이다.
function solution(n, t, m, p) {
const maxSize = t*m;
const ORDER = p-1
let full = ""
let answer = ""
for(let i=0;i<maxSize;i++){
full = full+i.toString(n)
}
for(let i=0;full.length;i++){
if(answer.length===t){
break;
}
if(i%m===ORDER){
answer = answer+full[i].toUpperCase()
}
}
return answer
}
'코딩테스트 공부' 카테고리의 다른 글
[프로그래머스] 구명보트 - 자바스크립트 (0) | 2022.05.13 |
---|---|
조합 nCr 구하기. (0) | 2022.05.12 |
[프로그래머스] 주차 요금 계산 - 자바스크립트 (0) | 2022.05.10 |
[프로그래머스] JadenCase 문자열 만들기 - 자바스크립트 (0) | 2022.05.10 |
[프로그래머스] [3차] 압축- 자바스크립트 (0) | 2022.05.06 |