function solution(n) {
let str = n.toString();
let answer = [];
for (let i = 0; i < str.length; i++) {
answer.push(Number(str[i]));
// console.log(answer);
}
answer.sort(function (a, b) {
return b - a; //오름차순 a - b (양수) 내림차순 b - a(음수)
});
const arrToStr = answer.join(''); // 다 연결시키는 녀석..!
const strToNum = Number(arrToStr);
return strToNum;
}
const n = solution(6721);
console.log(n);
//const arr = [2, 3, 6, 7];
// a : 왼쪽
// b : 오른쪽
// arr.sort((a, b) => {
// // a = 1
// // b = 2
// // a - b = -1
// return a - b;
// if (a < b) return 양수;
// if (a > b) return 음수;
// });
// a = 2
// b = 3
// // b - a = 3 - 2 = 1
// arr.sort((a, b) => b - a);
// console.log(arr);
sort와 join
sort() 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환
Array 인스턴스의 Join() 메서드는 배열의 모든 요소를 쉼표나 지정된 구분 문자열로 구분하여 연결한 새 문자열을 만들어 반환합니다. 배열에 항목이 하나만 있는 경우, 해당 항목은 구분 기호를 사용하지 않고 반환
ItemSimulator과제
import로
변수나 함수, 클래스를 선언할 때 맨 앞에 export를 붙이면 내보내기가 가능
account.js 완성!
// /routes/account.js
// 라우터 만들기 account.js를 만들기
// /api/signup api만들기 post로 만들기
// id password로 전달 -> consol.log로 만들어서
// signup에서 유저정보 생성하여 users 배열에 저장.
// 로그인 만들기 (signin) => post
// 회원조회 만들기 (account) => get
import express from 'express';
const router = express.Router();
// '/' => 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({ users });
});
// id, pw 받아서
// users 배열에서 id, pw가 일치하는지 확인
// 일치하면 로그인되었습니다. 출력
router.post('/signin', function (request, response) {
const { id, password } = request.body;
// 일반 함수를 사용하여 사용자 찾기
// const login = function (user) {
// return user.id == id && user.password === password;
// };
const userLogin = users.find(
(user) => user.id === id && user.password === password,
);
// console.log(user);
if (!userLogin) {
return response.json('로그인실패');
}
return response.json('로그인성공!');
});
// id를 받아서
// users 배열에서 id가 일치하는지 확인
// 일치하면 해당 id의 정보를 출력
router.get('/account', (request, response) => {
const { id } = request.body; // { id: 'test', password: 'test' }
const account = function (user) {
return user.id === id;
};
const userAccount = users.find(account);
// console.log(user);
if (userAccount) {
return response.json(`유저 ${id} 입니다`);
}
//
else {
return response.json('유저를 찾지 못했습니다.');
}
});
export const users = []; //users 내보내기
export default router;
users[]를 export 해줌
character.js 추가
//routes/character.js
//id 패스워드 말고 캐릭터로
// create , status , item
import { users } from './account.js';
import express from 'express';
const router = express.Router();
router.post('/create', (request, response) => {
const { nickname } = request.body;
// users 에서 id와 password가 일치하는 유저 찾기
// 찾은 유저 정보안에 charater에 nickname 과 level 1을 넣어 주기
// 그리고 다른 api 에서 users 로그찍어서 확인해보기
console.log(users);
const characterNickname = characters.find((character) => {
character.nickname === nickname;
});
if (!characterNickname) {
return response.json(`${nickname}님이 로그인 하셨습니다.`);
}
});
export default router;
//[
// {
// id: 'abc',
// password: '1234',
// character: { nickname: '마법사', level: 1 }
// }
//]
// const obj = {};
// console.log(obj.character); // undefined
// obj.character = { nickname: '마법사', level: 1 };
// console.log(obj.character); // { nickname: '마법사', level: 1 }
추가 기능 만드는중..!
캐릭터를 만들어주는게 목표..!