본문 바로가기

분류 전체보기146

[프로그래머스] Lv.1 크레인 인형뽑기 게임 (java) 게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. "죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 "5 x 5" 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 "1 x 1" 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데, 이때 바구.. 2024. 3. 21.
[프로그래머스] Lv.1 햄버거 만들기 (자바) 햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 일을 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장을 하게 됩니다. 상수가 일하는 가게는 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장을 합니다. 상수는 손이 굉장히 빠르기 때문에 상수가 포장하는 동안 속 재료가 추가적으로 들어오는 일은 없으며, 재료의 높이는 무시하여 재료가 높이 쌓여서 일이 힘들어지는 경우는 없습니다. 예를 들어, 상수의 앞에 쌓이는 재료의 순서가 [야채, 빵, 빵, 야채, 고기, 빵, 야채, 고기, 빵]일 때, 상수는 여섯 번째 재료가 쌓였을 때, 세 번째 .. 2024. 3. 20.
[프로그래머스] Lv.1 둘 만의 암호 Java 문제 설명 두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들려 합니다. 암호의 규칙은 다음과 같습니다. 문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔줍니다. index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다. skip에 있는 알파벳은 제외하고 건너뜁니다. 예를 들어 s = "aukks", skip = "wbqd", index = 5일 때, a에서 5만큼 뒤에 있는 알파벳은 f지만 [b, c, d, e, f]에서 'b'와 'd'는 skip에 포함되므로 세지 않습니다. 따라서 'b', 'd'를 제외하고 'a'에서 5만큼 뒤에 있는 알파벳은 [c, e, f, g, h] 순서에 의해 'h'가 됩니다. 나머지 "ukks" 또한 위 .. 2024. 3. 19.
[프론트] 로그인 백엔드와 통신 백엔드에 로그인 정보를 보내고 response를 받아와서 로그인 정보가 맞으면 "/main" 페이지로 navigate 하는 것까지 성공을 하였다. 이유는 모르겠지만, 서버측에서 받은 json의 Headers 내용을 출력하니 아무런 데이터도 들어있지 않았다. import React, { useState } from "react"; import { useNavigate } from "react-router-dom"; import { Link } from "react-router-dom"; import google from "../image/google.png"; import kakao from "../image/kakao.png"; import naver from "../image/naver.png"; im.. 2024. 3. 17.
[프론트] 회원가입 백엔드 통신 완료 위 사진처럼 회원가입란에 회원 정보를 다 넣은 후 "회원가입"을 누르면 회원의 정보가 json 형식으로 백엔드 측에서 구현한 코드로 넘어가게 되고 mySQL에 회원 데이터가 저장되는 것을 확인할 수 있다. ⬇︎백엔드 측에서 해결 .cors(corsCustomizer -> corsCustomizer.configurationSource(new CorsConfigurationSource() { @Override public CorsConfiguration getCorsConfiguration(HttpServletRequest request) { CorsConfiguration config = new CorsConfiguration(); config.setAllowedOrigins(Collections.*sin.. 2024. 3. 17.
[프론트] 회원가입 유효성 검사 & 백엔드 통신 import React, { useState } from "react"; import { useNavigate } from "react-router-dom"; import "../css/JoinStyle.css"; import Logo from "../components/Logo"; function JoinPage() { const navigate = useNavigate(); const [UserName, setUserName] = useState(""); const [Email, setEmail] = useState(""); const [Password, setPassword] = useState(""); const [ConfirmPassword, setConfirmPassword] = useStat.. 2024. 3. 15.