JavaScript
-
[프로그래머스/JavaScript] 달리기 경주 (Feat. 찾기 연산의 시간복잡도)IT Study/프로그래머스 2023. 10. 30. 12:27
☝🏻 1차 시도 function solution(players, callings) { let answer = [...players]; for(let i = 0; i < callings.length; i++) { const calling = callings[i]; const index = answer.indexOf(calling); const temp = answer[index - 1]; answer[index - 1] = answer[index]; answer[index] = temp; } return answer; } 🥚 중간 과정 function solution(players, callings) { let answer = [...players]; for(let calling of callings) {..
-
[프로그래머스/JavaScript] 주사위 게임 3 (Feat. Map)IT Study/프로그래머스 2023. 10. 11. 17:02
어우... 정말 어려웠는데요. 이 문제를 풀기 위해 찾았던 개념들에 대해 먼저 정리하고자 합니다. 1. JavaScript의 Map - 값을 저장(변경) : set(key, value) - key 존재 여부 확인 : has(key) - key에 해당하는 value 가져오기 : get(key) - size(크기) 확인 : size - map의 key, value 확인(사용) : forEach((value, key) => {}) 2. JavaScript의 배열 - 값 저장 : push(값) - 배열 중 최소 값 구하기 : Math.min(... 배열명) 3. 절댓값 구하기 - 절댓값 : Math.abs(숫자) 4. 제곱 구하기 - 제곱 : ** 초기 코드 function solution(a, b, c, d)..
-
[프로그래머스/JavaScript] 조건 문자열 (Feat. eval)IT Study/프로그래머스 2023. 10. 10. 21:07
기본 코드 function solution(ineq, eq, n, m) { var answer = 0; return answer; } 최종 코드 테스트 1 〉통과 (0.06ms, 33.4MB) 테스트 2 〉통과 (0.06ms, 33.4MB) 테스트 3 〉통과 (0.05ms, 33.6MB) 테스트 4 〉통과 (0.06ms, 33.4MB) 테스트 5 〉통과 (0.06ms, 33.4MB) ... 수식이 곧 문자열이라고 생각했는데, 잘못 생각한 듯하여 혹시 "문자열을 수식으로 바꾸는 함수가 있나?" 찾아봤습니다. eval 그러나 eval은 보안, 성능 저하, 명확하지 않은 코드의 의도들로 인해 사용을 지양한다고 합니다. function solution(ineq, eq, n, m) { // 결과를 담는 answe..
-
[프로그래머스/JavaScript] 문자열 겹쳐쓰기IT Study/프로그래머스 2023. 10. 10. 20:10
처음엔 split(), substr(), substring(), slice()와 같이 문자열을 자르는 메서드를 사용해야 할 것 같았습니다. 그러나, overwrite_string의 길이만큼 문자열이 대체되는 것이 아니라 방향을 바꾸어 진행했습니다. 기본 코드 function solution(my_string, overwrite_string, s) { var answer = ''; return answer; } 최종 코드 테스트 1 〉통과 (0.05ms, 33.7MB) 테스트 2 〉통과 (0.05ms, 33.4MB) 테스트 3 〉통과 (0.05ms, 33.4MB) 테스트 4 〉통과 (0.05ms, 33.4MB) ... 앞선 문제에서 다른 사람들이 풀이할 때에 사용한 join() 메서드를 처음 사용해본 것이..
-
[프로그래머스/JavaScript] 문자열 반복해서 출력하기IT Study/프로그래머스 2023. 10. 10. 18:20
자바스크립트(NodeJS)에서 이제 입력을 받아 출력하는 것은 아주 ⭐️ 조금 ⭐️ 익숙해진 것 같습니다. 위 문제에 접근해보겠습니다. 초기 코드 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let input = []; rl.on('line', function (line) { input = line.split(' '); }).on('close', function () { str = input[0]; n = Number(input[1]); }); 중간 과정 (실패 1) 줄바꿈이 추가되지 않아 str이 그대로 이어져서 출력됩니다. ..
-
[프로그래머스/JavaScript] 문자열 출력하기 (Feat. 기초 트레이닝)IT Study/프로그래머스 2023. 10. 10. 17:59
초기 코드 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let input = []; rl.on('line', function (line) { input = [line]; }).on('close',function(){ str = input[0]; }); 완성 코드 (기존 코드에 console.log(str);만 추가) // readline(콘솔에서 사용자 입력 읽기) 모듈 불러오기 const readline = require('readline'); // readline 모듈을 사용해 인터페이스를 생성 const rl = readl..
-
[JavaScript] `==`, `===` (Feat. 값에 의한 참조, 주소에 의한 참조?)IT Study/FE 2023. 10. 10. 14:08
안녕하세요. Three입니다. Java를 공부할 때, equals(), `=`, `==` 를 비교하고 그 개념을 기억하고 있었는데요. [Java] String 클래스의 equals(), ==, = 의 차이점 String 클래스에서 사용하는 equals와 ==, = 의 차이점에 대해 알아보도록 하겠습니다. equals( ) 메서드 두 개의 객체가 서로 내용이 같은지 비교합니다. 즉, 주소값이 아닌 문자열 자체의 내용이 같은 1-three.tistory.com 그러나 자바스크립트를 공부하며 자바에서의 개념과 많이 헷갈리게 되더라고요... ⭐️ 그래서 ⭐️ 자바스크립트의 `=`, `==`, `===` 의 차이에 대해 공부해보려고 합니다. 이번 글을 통해 `=`, `==`, `===` 차이를 명확히 알아보도록 ..
-
[JavaScript] null, undefined, NaN 완벽 정복IT Study/FE 2023. 10. 5. 14:57
null, undefined, NaN에 대해 완벽히 정복해 보겠습니다. (ㅋ_ㅋ) 🌟 Point null과 undefined는 값인 동시에 데이터 유형입니다. 1. undefined undefined는 초기화되지 않은 변수의 기본 값으로, 변수를 선언하고 =(등호)로 값을 할당하지 않을 경우 이 변수는 undefined가 됩니다. 또 undefined는 배열에서 생성되지 않은 인덱스로 접근하려 했을 때 뜨기도 하는데요, 아직 없는 요소에 접근하려고 했기 때문에 undefined를 반환합니다. 즉, undefined는 아무것도 없음을 나타내는 값이죠. 또 undefined는 데이터 유형이기도 하는데요, 숫자와 문자열이 데이터 유형인 것처럼 undefined 또한 데이터 유형입니다. 그러나 undefined..