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
- 티스토리 성능
- camera access
- 이미지 데이터 타입
- electron-packager
- html
- ELECTRON
- react-native
- silent printing
- github 100mb
- augmentedDevice
- Each child in a list should have a unique "key" prop.
- nextjs
- dvh
- vercel git lfs
- Git
- github pdf
- react-native-dotenv
- animation
- adb connect
- github lfs
- npm package
- Recoil
- Can't resolve
- ffi-napi
- device in use
- Failed to compiled
- custom printing
- adb pair
- rolldown
- camera permission
Archives
- Today
- Total
Bleeding edge
[프로그래머스] - 방문 길이 본문
https://programmers.co.kr/learn/courses/30/lessons/49994
한.. 2~3주만 다시 풀고 푼 문제
function solution(dirs) {
let now = [0,0]
let road = new Set();
for(let i = 0; i<dirs.length;i++){
let temp = String(now[0])+String( now[1])
now = move(now, dirs[i])
let temp2 = String(now[0])+String( now[1])
if( temp!==temp2){
road.add(temp + temp2)
road.add(temp2 + temp)
}
}
return road.size/2
}
function move(now, str){
if(str==='U'){
if(now[1]<5){
now = [now[0], now[1] +1]}
}
if(str==='D'){
if(now[1]>-5){
now = [now[0], now[1] -1]}
}
if(str==='L'){
if(now[0]>-5){
now = [now[0]-1, now[1]]}
}
if(str==='R'){
if(now[0]<5){
now = [now[0]+1, now[1]]}
}
return now
}
전에 포기했었던 이유가, array안의 array [ [], [] ] 와 같은 구조에서, includes가 작동안하는 것을 해결을 못했었는데, 이를, string화 시켜서 해결했다. 그리고 a -> b , b -> a와 같이 왔다 갔다하는 것 같은 경우에는, 두개다 넣고 반을 나누는 것으로 해결했다.
'코딩테스트 공부' 카테고리의 다른 글
[프로그래머스] 이진 변환 반복하기 - 자바스크립트 (0) | 2022.04.15 |
---|---|
[프로그래머스] 스킬트리 - 자바스크립트 (0) | 2022.04.13 |
[프로그래머스] 영어 끝말잇기 - 자바스크립 (0) | 2022.04.12 |
[프로그래머스] 2개 이하로 다른 비트 - 자바스크립트 (0) | 2022.04.12 |
[프로그래머스] 가장 큰 수 - 자바스크립트 (0) | 2022.04.08 |