스파르타 (React_6기) 본캠프 68

2024. 08. 12. (알고리즘 - 문자열을 정수로 바꾸기)

★ 문제문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.(s의 길이는 1 이상 5이하입니다.s의 맨앞에는 부호(+, -)가 올 수 있습니다.s는 부호와 숫자로만 이루어져있습니다.s는 "0"으로 시작하지 않습니다.)★ 문제 해결 과정간단하게 Number나  parseInt를 씌우면 되는 문제였는데,다른 사람이 푼 답변 중 신박하게도 s/1로 문제를 푼 사람이 있었다.1을 나누려면 결국 s는 숫자열이여야하는데 굳이 숫자열로 변환하는 과정을 거치지않아도 자동으로 숫자열로 변환되는  자바스크립트의 편리한점이 나타난 것 같다.★ 제출한 문제 답안function solution(s) { var answer = 0; const num = Number(s) return(n..

2024. 08. 12. (알고리즘 - 자연수 뒤집어 배열로 만들기)

★ 문제자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.(n은 10,000,000,000이하인 자연수입니다.)★ 문제 해결 과정제일 처음에는 배열의 정렬을 내림차순으로 바꿔야한다는 생각에 sort함수를 사용해서 했었다.하지만 문제에서는 배열의 내림차순을 원한 것이 아니라 뒤집는 것을 원했다.즉, [1,6,2,4] => [4,2,6,1]로 원한 것이지 [6,4,2,1]로 원한 것이 아니였다.그래서 reverse함수를 사용하였다.1. 숫자를 문자열로 바꾼다.2. 문자열을 쪼갠다.3. reverse함수를 하여 뒤집니다.4. 뒤집은걸 배열안에 넣는다.★ 제출한 문제 답안function solution(n) { let..

2024. 08. 12. (알고리즘 - x만큼 간격이 있는 n개의 숫자)

★ 문제함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.( x는 -10000000 이상, 10000000 이하인 정수입니다.  n은 1000 이하인 자연수입니다.)★ 문제 해결 과정제일 처음에는 막연하게 x부터 시작해서 x를 더하는 반복문을 n개가 나오도록 하면 되겠다는 생각이 들었다. 하지만 n까지의 숫자를 뽑아내는 것에 막혔었는데, 지금 다시 생각해보면 범위를 x~n*x까지로 했으면 괜찮지 않았을까하는 생각이 뒤늦게 든다. 처음에는 어떻게 해야할지 막혀서 고민했는데 답은 의외로 간단했다.1. 1~n까지 배열안에 넣는다.2. 그 배열 수에 ..

2024. 08. 09. (알고리즘 - 나머지가 1이 되는 수 찾기)

★ 문제자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.(3 ★ 문제 해결 과정1. 나머지가 1이 되어야하므로 나누는 x는 양수이며, 2이상이다.2. 조건은 n%x === 1이다.(n을 x로 나눴을 때 나머지는 1)3. x의 범위를 2부터 n까지 잡은 후 조건에 맞는 수가 나올 때까지 1씩 올린다.★ 제출한 문제 답안function solution(n) { for(x=2; x

2024. 08. 08.(알고리즘 - 약수의 합 구하기)

★ 문제정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수,  solution을 완성해주세요.(n은 0 이상 3000이하인 정수입니다.) ★ 문제 해결 과정우선 약수를 구할려면 약수는 n을 나눴을 때 나머니가 없는 값이라고 생각했다. 1. 1부터 n까지의 값에 들어가는 수를 i라고 했을 때2. n%i의 나머지가 0인 값만 추려낸다.3. 그 값들을 더한다. ★ 제출한 문제 답안function solution(n) { let sum = 0; for (let i = 1; i

2024. 08. 07(알고리즘 - 자릿수 더하기)

★ 문제자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.(N의 볌위 : 100,000,000 이하의 자연수) ★ 문제 해결 과정우선 N의 각 자리 값을 더하려면 split라는 함수를 사용하여 쪼갠다는 생각이 먼저 들었는데,split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다. 그렇기 때문에1. 숫자를 문자열로 변환한다.(string 사용)2. 문자열을 쪼갠다.(split 사용)3. 그 문자열을 반복문에 넣어 배열의 길이가 끝날때 까지 더한다.(for 문사용)4. 결과값을 다시 숫자열로 변환한다.(parseInt 나 numbe..

2024. 08. 06.(팀 프로젝트 -04)

내가 짠 코드 분석// Firebase 초기화 및 FIrestore 설정import { initializeApp } from "https://www.gstatic.com/firebasejs/10.4.0/firebase-app.js";import { getFirestore, doc, updateDoc, increment, getDoc } from "https://www.gstatic.com/firebasejs/10.4.0/firebase-firestore.js";const firebaseConfig = {apiKey: "...",authDomain: "...",projectId: "...",storageBucket: "...",messagingSenderId: "...",appId: "...",measu..

2024. 08. 05(팀 프로젝트 -3)

지난번에 localStorage를 사용해 버튼을 눌렀을 때 그 값이 저장되도록 하였다.하지만 localStoraged의 경우 내 컴퓨터의 웹브라우저내에서 저장이 되기 때문에 다른 컴퓨터를 사용하여 클릭한 값들은 불러올 수가 없다..결국 다른 사람들의 영화에 대한 반응을 볼 수 없는 것이다.그래서 난 사전캠프때 들어뒀었던 firebase를 사용하여 그 수를 저장하고, 불러와야겠다 생각했다. firebase에는 신기하게 숫자값을 늘리는 함수가 이미 있었는데import { doc, updateDoc, increment } from "firebase/firestore";const washingtonRef = doc(db, "cities", "DC");// Atomically increment the popula..

2024. 08. 02(팀 프로젝트-2)

이전에 이어서 굳이 캔버스를 사용하지 않아도 되는 방법을 찾았는데 div id="circle1">div>로 영역을 만든다음 style>#circle1 { position: absolute; border-radius: 100%; opacity: 0.2; bottom: 10vh; left: 10vw; width: 200px; height: 200px; background-color: #6bc7f0; }스타일을 이용하여 원을 그리는 방법이다.주변 둥글기인 border-radius값을 높이면 결국 원이 된다. 이제 기본인 원과 숫자를 나타내는 버튼을 만들었으니, 그 숫자를 저장해야한다.처음에는 필수과제에 처음보는 localstorage에 저장을 하자 하였는데,localstorage를 이용하면 웹 브라우저에서 로..

2024. 08. 01(팀프로젝트-1)

이번에 첫 팀프로젝트로 개별과제로 만들었던 영화 소개하는 웹에서 더 들어가 상세페이지를 만들어보기로 했다.우리 조는 조 이름이 IN사이드 아웃이라 영화 인사이드 아웃과 연관시켜 '감정에 따른 영화를 추천'해주는 페이지를 만들기로 하였고,상세페이지에는 영화내용과 함께 채팅기능, 감정버튼을 눌러서 간단하게 이 영화에 대한 후기를 남길 수있고 즐겨찾기를 눌러 내가 좋아하는 영화에 대해 한번에 몰아서 볼 수 있도록 기능을 구현하기로 했다. 그 중 내가 구현해 내야하는 것은, 클릭한 감정 버튼에 따른 배형의 동그라미 크기 변형이다. 위 사항을 들었을 때 우선 내가 실행해야하는게1. 버튼을 만든다.2. 원을 만든다.3. 반지름 값에 버튼을 누른 값을 넣어서 변동이 가능하도록 한다.4. 클릭 횟수가 누적되어야하기 때..