카테고리 없음

5주차 (2)

jaeoun0238 2024. 11. 26. 20:01

function solution(n) {
    // n이 양의 정수인지 확인
    if (n <= 0) {
        return -1; // n이 양의 정수가 아닐 경우 -1 반환
    }
    
    // n의 제곱근을 구함
    const x = Math.sqrt(n);
    
    // x가 정수인지 확인
    if (x === Math.floor(x)) {
        // x가 정수라면 (즉, n이 x의 제곱이라면)
        return (x + 1) ** 2; // (x + 1)의 제곱을 반환
    } else {
        return -1; // n이 x의 제곱이 아닐 경우 -1 반환
    }
}

Math.sqrt() 함수는 숫자의 제곱근을 반환

Math.floor() 정적 메서드는 언제나 버림 처리하고 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환

 

이번에도 내힘으로 못풀었다..

처음에 차근차근 글부터 써서 계획을 썼어야했는데

문제를읽고 n이 양의 정수인지 확인하는 코드를 쓰고 그후에  x 가 정수인지 확인하는 코드를 짰어야했는데 무턱대고 .x 부터 구하는 식을 써버렸다. ㅜㅜ

계속해서 먼저 글로 어떻게 코드를 짤건지 써보는 습관을 들이자..!

 

ItemSimulator과제

//라우터 만들기 account.js를 만들기
// /api/signup api만들기 post로 만들기
//id password로 전달 -> consol.log로 만들어서
// signup에서 유저정보 생성하여 users 배열에 저장.
// 로그인 만들기 (signin) => post
// 회원조회 만들기 (account) => get

해보기

// app.js

//express 서버 3000포트 띄우기
import accountRouter from './account/account.js';
import express from 'express'; // 모듈 불러오기

const app = express(); // exoress()함수를 호출해서 app라는 객체생성
const PORT = 3000; // 서버기 실행될 포트, 3000번 사용

//app.get() 메서드를 사용해서 http get 요청 루트 ("/")에 대한 요청이 들어오면 "Hello World" 출력
// req = 요청 객체 res = 응답 객체
// localhost:3000/ 으로 get 요청이 들어오면 함수 실행 (req, res) => { }
app.get('/', (req, res) => {
  res.send('Hello World!');
});
app.use(express.json());

// /api 주소로 접근하였을 때, accountRouter로 클라이언트의 요청이 전달
app.use('/api', [accountRouter]); // http://localhost:3000/api

// app.listen()메서드를 호출하여 서버를 시작 , 포트를 불러오고 클라이언트요청을 대기
// 서버가 성공적으로 시작되면 메세지 출력
// localhost:3000/
app.listen(PORT, () => {
  console.log(PORT, '포트로 서버가 열렸어요!');
});

 

// /account/account.js

import express from 'express';

const router = express.Router();

const users = [];
// '/' => http://localhost:3000/api/signup 으로 요청이 들어오면 함수 실행.
// request : 내가 받은 정보
// response : 내가 보낼 정보
router.post('/signup', (request, response) => {
  const { id, password } = request.body; // { id: 'test', password: 'test' }
  users.push({ id, password });
  console.log(id, password);
  return response.json({ id, password });
});

export default router;

결과값

터미널결과값
각각 JSON /Preview

아직 수정이 더필요함

 

<오늘의 요약>

Math.sqrt() 함수는 숫자의 제곱근을 반환

request : 내가 받은 정보
response : 내가 보낼 정보

users [] 라는 배열에 id와 password값을 넣어줌

 

api 주소로 접근하였을 때, accountRouter로 클라이언트의 요청이 전달
app.use('/api', [accountRouter]);

api 안에 accountRouter가 들어간다..! 고로  // http://localhost:3000/api