분류 전체보기 183

javascript 코딩테스트 - 문자열 계산하기

처음 든 생각 - eval를 쓸까? 근데 이건 해킹 위험성이 매우 높다고 공식문서에서 봤었으니깐 일단 제외 - 숫자와 연산자를 따로따로 생각해줘야겠다. - 반복문을 배열로 돌려야겠다. 나의 답 일단 배열로 split해서 연산자랑 숫자를 구별해준다. 그 다음에 첫번째 숫자를 answer에 할당한 후 연산자인지 아닌지만 확인한 후 해당하는 연산을 수행한다. 처음에 arr[i+1]을 했는데 string + number라서 문자열 합친 걸로 인식해서 에러가 났었다. 안전하게 parseInt 추가.

javascript 코딩테스트 - 가장 큰 수 찾기

처음 든 생각 - 최댓값을 어떻게 찾을까? 내림차순 해서 첫번째 녀석 불러와야겠다. - 인덱스 찾아야되니깐 indexOf 써야겠다 나의 답 깊은 복사를 통해서 answer를 만들고 내림차순 정렬한 후 최대값을 불러온다. 그 다음 원래 array에서 indexOf로 인덱스만 부르면 끝 참고 Math.max라는 메소드를 통해서 배열 내의 최대값을 찾을 수 있었다. 정렬 후 추출하는 것보다는 훨씬 간단한 과정이니 기억해두자.

javascript 코딩테스트 - 인덱스 바꾸기

처음에 든 생각 - for loop을 돌려야겠다. - 순서가 중요하니깐 뭔가 배열로 하면 편할 듯? 나의 답 먼저 string을 배열로 다 쪼갠다. 그리고 교체 대상의 데이터들을 tmp1, 2로 각각 따로 빼놓고 splice 메소드를 통해서 바꿔보자. (처음에 for 써야되나 싶었는데 splice에 교체할 수 기능이 있는게 생각남) 그렇게 해서 배열 안에서 위치를 바꿔준다음에 다시 문자열로 바꿔주면 끝 참고 보고 무슨 소리인가 했다. 배열의 구조분해를 활용한 풀이였다. 이게 뭔가 싶어서 바로 구글링했더니 이런 게 있었다. 구조분해를 통해서 값을 교환할 수 있는 문법이 있었다. 궁금해서 여러개인 것도 해봤는데 똑같이 된다. arr[1]에 있던게 세번째로 가고 arr[2]에 있던게 두번째로 가고 arr[3]..

javascript 코딩테스트 - 영어가 싫어요

처음 든 생각 - 영어 단어들을 어떻게 나눠야될까 - tmp라는 임시변수를 만들어서 그걸로 숫자를 하나씩 넣어줘야겠다 - 숫자로 변환할 때 배열로 만들어서 index 참조하면 딱이네 나의 답 numberArr라고 해서 전부 다 넣어주었다. 그렇게 해서 해당하는 index를 불러오려고 생각했다. tmp라는 임시변수를 통해서 일단 numbers에 있는 애들을 계속 넣어준다. 그리고 tmp가 numberArr에서 발견되면 해당하는 숫자를 answer에 추가해주고 다시 tmp는 비워준다. answer의 결과가 문자열이므로 숫자로 변환하면 끝 참고 다른 사람 풀이인데 object + 정규표현식으로 풀었다. 그리고 replace 메소드를 활용하였다. replace라는 메소드 자체를 되게 생소하게 생각하고 있었다. ..

javascript 코딩테스트 - 대문자와 소문자

처음에 생각했던 것 - 반복문을 돌려야겠다 - 전환해주는 메소드가 있지 않을까? (찾아봤는데 없는 듯) - 그 메소드를 잘 모르겠으면 그냥 toLowerCase 랑 toUpperCase 써야겠다. 나의 답 function solution(my_string) { var answer = ''; for(let i of my_string){ if(i === i.toLowerCase()){ answer += i.toUpperCase() } else { answer +=i.toLowerCase() } } return answer; } 반복문을 돌면서 소문자인지 아닌지 확인을 하고 맞으면 대문자로 변환하고 대문자면 소문자로 변환하는 조건문이다. 개쉬웠다.

javascript 코딩테스트 - 369게임

처음에 든 생각 - order에 있는 문자를 하나하나씩 비교해줘야되니깐 배열로 바꿔서 map을 써야겠다. - 3,6,9 여부를 활용하기 위해서 include를 써야겠다 나의 답 function solution(order) { var answer = 0; String(order).split("").map((n)=> { if(['3','6','9'].includes(n)){ answer++ } }) return answer; } order이 숫자이기 때문에 string으로 변환하고 split을 통해서 배열로 만들어주었다. 그 다음 각각이 원소가 3,6,9인지 아닌지에 따라서 answer 값 도출

728x90