전체 글 340

대소문자 바꿔서 출력하기

내가 작성한 코드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]; let out = '' for (let i = 0; i 반복문과 조건문을 사용하여 문자열의 인덱스마다 대소문자를 구분하고 상황에 맞게 바꾸도록 만들었다. 다른사람이 작성한 코드const readline = require('readline');const rl =..

문자열 반복해서 출력하기

문자열 str과 정수 n이 주어집니다.str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요.제한사항1 ≤ str의 길이 ≤ 101 ≤ n ≤ 5입출력 예입력 #1string 5출력 #1stringstringstringstringstring 내가 작성한 코드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..

홀짝에 따라 다른 값 반환하기

정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.제한 조건num은 int 범위의 정수입니다.0은 짝수입니다.입출력 예numreturn3"Odd"4"Even"내가 작성한 코드function solution(num) { var answer = ''; if (num%2 === 0) { answer = "Even" } else { answer = "Odd" } return answer;} 다른사람이 작성한 코드function evenOrOdd(num) { return num % 2 ? "Odd" : "Even"}삼항 연산자를 사용하여 바로 return에 작성하였다. 간단하다.

24.05.05 프레임워크와 라이브러리의 차이

프레임워크프레임워크 : 코드 기본 구조와 규칙을 제공하는 도구, 프레임워크가 제공하는 규칙과 인터페이스에 따라 코드를 작성해야함.프레임워크는 애플리케이션의 흐름과 제어를 관리하고 필요한 기능과 도구를 제공한다.백엔드 - Spring / 프론트 - Angular, Vue 라이브러리라이브러리 : 재사용 가능한 코드의 집합, 특정 기능을 수행하는 함수, 클래스, 모듈 등으로 구성개발자가 필요한 기능을 호출하여 사용할 수 있다.프레임워크와 달리 개발자가 코드의 흐름과 제어를 관리한다.jQuery, React, Express, Axios 등이 있다. 주된 차이점은 '누가 제어를 주도하는가'이다. 프레임워크는 자체가 제공하는 규칙을 개발자가 따라야 하는 방면, 라이브러리는 개발자가 제어권을 가진다. 리액트는 UI ..

2차 공부/TIL 2024.05.05

24.05.04 얕은 복사와 깊은 복사

얕은 복사 : 복사할 때 원본의 참조 값(주소 값)을 복사한다.깊은 복사 : 복사할 때 원본의 실제 값을 복사한다.위 그림과 같이 깊은 복사는 원 데이터를 복사한 것이고, 얕은 복사는 원본 값의 주소값을 복사해간 것이다.얕은 복사는 원본 참조(주소)값을 복사해 간 것으로, 복사된 값에 변화를 주어도 원본값이 변하게되므로, 원본데이터의 변화를 주게 되어 조심해야한다. 얕은 복사얕은 복사를 하는 방법은 다음과 같다.//JSON.stringfy, JSON.parse 이용let origin = [1,2,3];let copy = JSON.parse(JSON.stringfy(origin))//lodash 라이브러리 이용//전개연산자 이용let origin = {a:1, b:2, c:3}let copy = {...o..

2차 공부/TIL 2024.05.04

24.05.03 String 객체, Math 객체

trim() : 문자열 양쪽 끝의 공백을 없앤다.let st = " 안녕 "st.trim()// st = "안녕"필요없는 공백이나 줄바꿈을 없앨 수 있다. split() : 문자열을 특정 문자로 구분하여 나눌 수 있다.let st = "안녕나는개발자야!"st.split('\n')//st = ["안녕", "나는", "개발자", "야!"]원하는 문구를 기준으로 문자열을 나누어 배열화 시킬 수 있다.  Math.random() : 0~1사이 랜덤한 난수를 만들 수 있다.let num = Math.random()//num = 0.1235512843265462random 메소드를 사용하여 암호화가 필요한 코드에 사용할 수 있다.다만, 만에하나라는 생각으로 난수생성 라이브러리를 사..

2차 공부/TIL 2024.05.03

24.05.02 Number 객체

toFixed() 로 숫자 N번째 자릿수까지 반올림하여 출력한다.const l = 123.456798l.toFixed(2)>'123.46' isNaN(), isFinite()로 NaN(Not a Number)인지 Infinity(무한)이 아닌지 확인할 수 있다.NaN != NaN이기때문에 isNaN()으로 확인해야한다.const m = Number('숫자로 변환불가')m === NaN>falseNumber.isNaN(m)>trueconst n = 10/0InfinityNumber.isfinite(n)>Falseconst l = -10/0-InfinityNumber.isfinite(l)>FalseisFinite는 유한할때 true이고 무한일때 false이다.

2차 공부/TIL 2024.05.02

24.05.01 객체

배열엔 '인덱스'와 '요소'가 있듯이, 객체에는 '키'와 '밸류'가 있다.let arr = [0,1,2,3,4]let dict = { '가':'나', '다':'라', '마':'바', '사':'아', '자':'차'}밸류에 접근하기 위해선 배열에서 인덱스를 사용한것과 비슷하게 사용할수도 있다.let dict = { '가':'나', '다':'라', '마':'바', '사':'아', '자':'차'}dict['가'] >>> '나'dict.가 >>> '나' 객체의 속성 중 함수 자료형인 속성을 메소드라 한다. 또한 메소드 안에서 this를 사용하여 객체의 자료를 사용할 수 있다.const pet = { name: '구름', eat: function (..

2차 공부/TIL 2024.05.01

24.04.30 타이머함수

setTimeout(함수, 시간) // 특정 시간 후에 함수를 한 번 호출한다.setInterval(함수, 시간) // 특정 시간마다 함수를 호출한다. setTimeout(() => { console.log('1초 후에 실행됩니다.')}, 1000)let count = 0setInterval(()=?{ console.log(`1초마다 실행됩니다.(${count}번째)`) count++}, 1000)//1초 후에 실행됩니다.//1초마다 실행됩니다.(0번째)//1초마다 실행됩니다.(1번째)//1초마다 실행됩니다.(2번째)//1초마다 실행됩니다.(3번째)...clearTimeout(타이머_ID) // setTimeout() 함수로 설정한 타이머를 제거합니다.clearInterval(타이머_ID) // s..

2차 공부/TIL 2024.04.30