JavaScript
-
Programmers - 배열 회전시키기 (Javascript)개발/코딩 테스트 2022. 12. 14. 17:07
정수 배열 numbers의 원소를 문자열 direction 방향으로 한 칸씩 회전시킨 배열을 반환하는 문제 numbers 가 [1, 2, 3]이고 direction이 "right" 이면 오른쪽으로 한 칸씩 회전시킨 [3, 1, 2]를, numbers 가 [4, 455, 6, 4, -1, 45, 6]이고 direction이 "left" 이므로 왼쪽으로 한 칸씩 회전시킨 [455, 6, 4, -1, 45, 6, 4]를 반환하면 된다. [나의 풀이] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 function solution(numbers, direction) { let answer = []; const directions = { right: 1, le..
-
Programmers - 문자 반복 출력하기 (Javascript)개발/코딩 테스트 2022. 12. 13. 16:22
문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 반환하는 문제 [나의 풀이] 1 2 3 4 5 6 7 8 9 10 11 12 function solution(my_string, n) { const answer = []; const converted = my_string.split(''); converted.forEach(string => { for ( let i = 0; i v.repeat(n)).join(""); return answer; } Colored by Color Scripter cs String의 내장 메소드 중 repeat() 함수를 활용한 부분이 눈에 띄어 기록한다.
-
[Programmers] 양꼬치 (Javascript)개발/코딩 테스트 2022. 12. 8. 18:28
양꼬치 10인분을 먹으면 음료수를 하나씩 서비스로 주는 가게에서 양꼬치 n인분 (1인분 12000원), 음료수 k개(1개 당 2000원)를 먹었다면 지불해야 하는 총액을 계산하는 문제 [나의 풀이] function solution(n, k) { return n * 12000 + k * 2000 - ( Math.trunc(n/10) ) * 2000; } [다른 사람의 풀이] function solution(n, k) { k-=~~(n/10); if (k < 0) k = 0; return n*12000+k*2000; } double tilde를 활용하는 풀이가 눈에 띄었다. 역시 다른 사람 풀이 보기가 최고...! [~ (tilde) 연산자 특징] • 비트의 부정 연산자 • 32bit signed integ..
-
[Programmers] 각도기 (Javascript)개발/코딩 테스트 2022. 12. 8. 17:59
0도 초과 ~ 90도 미만은 1(예각), 90도는 2(직각), 90도 초과 180도 미만은 3(둔각), 180도는 4(평각)를 반환하는 문제 [나의 풀이] function solution(angle) { let result = -1; if ( angle > 0 && angle 90 && angle < 180 ) { result = 3; } else if ( angle === 180 ) { result = 4; } return result; } [다른 사람의 풀이] function solution(angle) { return [0, 90, 91, 180].fil..
-
[Programmers] 숫자 비교하기 (Javascript)개발/코딩 테스트 2022. 12. 8. 17:31
간단하게 두 숫자를 비교하여 같으면 1을, 다르면 -1을 반환하는 문제 [나의 풀이] function solution(num1, num2) { return num1 === num2 ? 1 : -1; } [다른 사람의 풀이] function solution(num1, num2) { return ((num1 == num2)-0.5)*2; } 정말 간단한 문제라 깊게 생각하지 않고 바로 풀었는데, 다른 천재님께서 true일 경우에는 1을, false일 경우에는 0을 반환하는 것을 응용하셨다. 즉 num1과 num2가 같으면 num1 == num2 조건식의 반환값이 1이 되므로, (1 - 0.5) * 2 = 1을 반환한다. num1과 num2가 같지 않으면 num1 == num2 조건식의 반환값이 0이므로, (..
-
실수에서 정수만 추출하기개발/Javascript & jQuery 2021. 2. 6. 20:46
실수값에서 소수점 이하 부분을 버리고 정수값만 추출해야 할 때 아래 2개의 옵션이 있다. 1. toFixed() 활용 자바스크립트의 Number 내장객체에서 제공하는 toFixed 함수를 활용 매개변수를 지정하지 않으면 기본값으로 0을 사용하게 된다. 1 2 3 4 const num = 123.456; console.log(num.toFixed()); // "123" console.log(num.toFixed(0)); // "123" cs 2. Math.trunc() 활용 자바스크립트의 Math 내장객체에서 제공하는 trunc 함수를 활용 1 2 3 const num = 123.456; console.log(Math.trunc(num)); // 123 cs
-
ajax로 파일(multipart/form-data) 전송하기개발/Javascript & jQuery 2019. 4. 17. 22:51
AS-IS 소스에서는 사용자가 선택한 파일을 업로드하는 소스를 1 2 3 4 Save Colored by Color Scripter cs 이런 식으로 구현했으나 TO-BE로 전환하면서는 파일 업로드 후 자바스크립트 단에서 콜백함수를 호출하도록 만들고 싶어서 방식을 조금 바꿔봤다. 1 2 3 4 Save Colored by Color Scripter cs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 $(function(){ $('#uploadBtn').on('click', function(){ uploadFile(); }); }); function uploadFile(){ var form = $('#uploadForm')[0]; var form..