주사위 게임 2 문제 설명 1부터 6까지 숫자가 적힌 주사위가 세 개 있습니다. 세 주사위를 굴렸을 때 나온 숫자를 각각 a, b, c라고 했을 때 얻는 점수는 다음과 같습니다. 세 숫자가 모두 다르다면 a + b + c 점을 얻습니다. 세 숫자 중 어느 두 숫자는 같고 나머지 다른 숫자는 다르다면 (a + b + c) × (a2 + b2 + c2 )점을 얻습니다. 세 숫자가 모두 같다면 (a + b + c) × (a2 + b2 + c2 ) × (a3 + b3 + c3 )점을 얻습니다. 세 정수 a, b, c가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요. 입출력 예 a b c result 2 6 1 9 5 3 3 473 4 4 4 110592 입출력 예 #..
l로 만들기 문제 설명 알파벳 소문자로 이루어진 문자열 myString이 주어집니다. 알파벳 순서에서 "l"보다 앞서는 모든 문자를 "l"로 바꾼 문자열을 return 하는 solution 함수를 완성해 주세요. 입출력 예 myString result "abcdevwxyz" "lllllvwxyz" "jjnnllkkmm" "llnnllllmm" 입출력 예 #1 0 ~ 4번 인덱스의 문자 "a","b","c","d","e"는 각각 "l"보다 앞서는 문자입니다. 따라서 "l"로 고쳐줍니다. 그 외의 문자는 모두 "l"보다 앞서지 않는 문자입니다. 따라서 바꾸지 않습니다. 따라서 "lllllvwxyz"을 return 합니다. 입출력 예 #2 0번, 1번, 6번, 7번 인덱스의 문자 "j","j","k","k"는..
배열의 원소만큼 추가하기 문제 설명 아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요. 입출력 예 arr result [5, 1, 4] [5, 5, 5, 5, 5, 1, 4, 4, 4, 4] [6, 6] [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6] [1] [1] 나의 풀이 function solution(arr) { let answer = []; for (const num of arr) { answer = [...answer, ...Array(num).fill(..
A 강조하기 문제 설명 문자열 myString이 주어집니다. myString에서 알파벳 "a"가 등장하면 전부 "A"로 변환하고, "A"가 아닌 모든 대문자 알파벳은 소문자 알파벳으로 변환하여 return 하는 solution 함수를 완성하세요. 입출력 예 myString result "abstract algebra" "AbstrAct AlgebrA" "PrOgRaMmErS" "progrAmmers" 입출력 예 #1 0번, 5번, 9번, 15번 인덱스의 "a"는 소문자이므로 전부 대문자로 고쳐줍니다. 다른 문자들은 전부 "a"가 아닌 소문자이므로 바꾸지 않습니다. 따라서 "AbstrAct AlgebrA"를 return 합니다. 입출력 예 #2 0번, 2번, 4번, 6번, 8번, 10번 인덱스의 문자들은 ..
수열과 구간 쿼리 1 문제 설명 정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e] 꼴입니다. 각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 arr[i]에 1을 더합니다. 위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요. 입출력 예 arr queries result [0, 1, 2, 3, 4] [[0, 1],[1, 2],[2, 3]] [1, 3, 4, 4, 4] 입출력 예 #1 각 쿼리에 따라 arr가 다음과 같이 변합니다. i queries[i] arr - - [0, 1, 2, 3, 4] 0 [0,1] [1, 2, 2, 3, 4] 1 [1,..
왼쪽 오른쪽 문제 설명 문자열 리스트 str_list에는 "u", "d", "l", "r" 네 개의 문자열이 여러 개 저장되어 있습니다. str_list에서 "l"과 "r" 중 먼저 나오는 문자열이 "l"이라면 해당 문자열을 기준으로 왼쪽에 있는 문자열들을 순서대로 담은 리스트를, 먼저 나오는 문자열이 "r"이라면 해당 문자열을 기준으로 오른쪽에 있는 문자열들을 순서대로 담은 리스트를 return 하도록 solution 함수를 완성해 주세요. "l"이나 "r"이 없다면 빈 리스트를 return 합니다. 입출력 예 str_list result ["u", "u", "l", "r"] ["u", "u"] ["l"] [] 입출력 예 #1 "r"보다 "l"이 먼저 나왔기 때문에 "l"의 왼쪽에 있는 문자열들을 담은..
리액트 팀 프로젝트에서 axios와 json-server를 이용해서 로그인, 회원가입 기능을 구현했다. 부족한 부분이 많겠지만 로그인, 회원가입을 이렇게도 구현할 수 있다는 것을 기록으로 남기려 한다. 회원가입 SignUpPage.jsx 전체 코드 더보기 import React, { useEffect, useRef, useState } from "react"; import { useDispatch, useSelector } from "react-redux"; import { useNavigate } from "react-router-dom"; import { __getUsers, __signUp } from "../../redux/modules/usersSlice"; import { v4 as uuidv..
Today I Learned 회원가입 유효성 검사 추가 로그인 기능 구현 팀 프로젝트 진행 기록 회원가입 시 DB 구조 수정하기 "users": [ { "id": "93e88455-88ac-4aa1-92f8-d02e06748d3a", "userId": "eeee", "userPw": "12345678", "userName": "f", "isLogin": true }, ] 회원가입할 때 서버에 이런 구조로 데이터가 저장되는데 기본적으로 userId와 userPw, userName을 저장했다. 그리고 애초에 가입할 때 userId가 중복되지 않게 할 거라 id가 필요할까 생각하고 넣지 않았었는데 json-server가 자동으로 생성해주길래 얘를 아예 uuid로 설정하고 마이페이지의 param.id로 쓰기로 ..
Today I Learend React 숙련 강의 수강 React 입문 과제 코드 리뷰 후 피드백에 따른 수정 React 숙련 강의 CSS-in-Js란? CSS-in-JS방식이란, 단어 그대로 자바스크립트로 CSS 코드를 작성하여 컴포넌트를 꾸미는 방식을 말한다. styled-components는 우리가 리액트에서 CSS-in-JS 방식으로 컴포넌트를 꾸밀 수 있게 도와주는 패키지인데 SC의 기본적인 원리는 꾸미고자 하는 컴포넌트를 SC의 방식대로 먼저 만들고, 그 안에 스타일 코드를 작성하는 방식으로 진행된다. styled-components의 기본적인 사용법 // styled-components에서 styled 라는 키워드를 import 합니다. import styled from "styled-com..
Today I Learned 리액트 입문 개인 과제 - My Todo List 만들기 리액트 입문 과제 리뷰 특강 시청 My Todo List 구현하기 배열에서 특정 객체의 프로퍼티 값만 수정하기 const [todo, setTodo] = useState([ {id: 1, title: '운동하기', content: '테스트1', isDone: false}, {id: 2, title: '마라탕 먹기', content: '테스트2', isDone: false}, {id: 3, title: '잘 쉬고 공부하기', content: '테스트3', isDone: false}, ]); 이 배열에서 투두리스트의 완료 버튼을 눌렀을 때 그 id 값을 가진 객체만 isDone: true로 바꿔주는 것이 내가 구현하고 싶은..