전체 글 54

[python][브루트포스] 백준 7568: 덩치

https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 문제 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x, y), (p, q)라고 할 때 x > p 그리고 y > q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. 예를 들어 어떤 A, B 두 ..

[python][브루트포스] 백준 2798번: 블랙잭

https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, ..

[데이터 분석 웹 서비스 프로젝트] 1주차 회고

- 데이터 분석 엘리스 수업을 안 들은 것과는 별개로 데이터를 분석하는 방법, 이론을 정말 하나도 모르는 채로 시작했다. 일단 주제 정하고 구체화하기까지 2~3일 소요한 것 같다. 그래서 1주차에 힘이 너무너무 빠진 게 사실이다. 1~2일차에는 단순히 데이터를 눈으로 확인하는 식으로만 코드를 짰다. 예를 들어 머 년도 별로 증가하는 앱의 개수.. 그렇게만 해도 되는 줄 알았다 왜냐면 엘리스 측에서 그랬다 간단하게 하라고. 결과 😁 첫 오피스 아워에 데이터분석 코치님께 대차게 털림. 난 이날 멘탈이 너무 갈렸다. 하지만 어떻게 데이터 분석을 해야하는지는 너무 잘 알려주셨다. 우리가 1~2일차에 했던 데이터 분석: 음료에 설탕이 많을 수록 맛있다. (당연한 소리) 코치님이 말한 데이터 분석: 음료에 설탕이 ..

[데이터 분석 웹 서비스 프로젝트] 기획서

- 프로젝트 주제 “나의 어플리케이션, 성공 가능성을 확인해보자!" - 엔드유저에게 보이는 웹 서비스 타이틀 및 한 줄 소개 AppBTI 다양한 분야에서 일 하고 있는 개발자들이 함께 모여 ① 사이드 프로젝트 팀원을 모집하거나 ②참여할 수 있고, ③ 구글 플레이스토어 시장 분석 데이터를 한 눈에 볼 수 있는 공간입니다. - 팀원 이름 역할 석** 팀장, 프론트엔드 박** 백엔드, 데이터분석 이** 프론트엔드, 데이터분석 유하얀 백엔드, 데이터분석 정** 백엔드, 데이터분석 한** 프론트엔드 - 개발에 사용할 데이터 셋 [Google Play Store Apps] (https://www.kaggle.com/datasets/gauthamp10/google-playstore-apps?resource=downl..

Node.js - Nodemailer + Gmail 사용하여 비밀번호 찾기 구현

Nodemailer 에서 Gmail을 사용하기 위해서는 앱 비밀번호 설정이 필요하다. 구글 계정설정 → 보안 → 앱 비밀번호 추가 * 생성된 앱 비밀번호는 다시 확인할 수 없으므로 기록이 필수다. 구글 계정 메뉴에서 자물쇠 모양 보안을 들어간다. 이 곳에서 2단계 인증을 하면 앱 비밀번호를 추가할 수 있다. - nodemailer 코드 const nodemailer = require('nodemailer') const transport = nodemailer createTransport({ service: 'Gmail', auth: { user: "google account", # 본인 구글 계정 pass: "app password", # 본인 앱 비밀번호 }, }) ... const message = ..

Backend/Node.js 2022.03.07

Node.js - JWT 기본

1) JWT JSON Web Token의 약자로 flask 포스팅에도 잠깐 다루긴 했지만 인증을 위한 정보를 특별한 저장소를 이용하지 않고, 전자 서명을 이용하여 확인하는 방법이다. - JWT의 구성 header - 토큰의 타입, 데이터 서명 방식 payload - 전달되는 데이터 signature - 헤더와 페이로드의 전자서명 JWT는 Web Token, 데이터를 웹에서 사용하기 위한 스펙이므로 웹에서 문제없이 사용할 수 있는 문자열로만 구성된 base64 인코딩을 사용 (JWT의 생김새는 이 포스팅에서 확인 가능) 서버는 JWT를 생성할 때, 비공개키를 이용하여 서명한다. payload를 조작할 경우 서명이 일치하지 않기 때문에 인증에 실패한다. - JWT 작동 방식 1. 사용자 로그인 2. 서버는 ..

Backend/Node.js 2022.03.07

(정리) 3계층 구조로 백엔드 회원가입 Rest API 구현

Rest API의 핵심은 요청이 왔을 때 응답을 보내는 것이다. - 회원가입 API 1. API 설계하기 (1) URI 엔드포인트와 HTTP 메소드를 정한다. 회원가입 API이므로 URI는 /user/register 또는 user/create 등으로 정할 수 있다. 회원가입은 사용자 정보를 처음 db에 저장하는 과정이므로 method를 POST로 한다. (2) 요청으로 받을 데이터(json)과 응답으로 보낼 데이터를 정한다. 회원가입이므로, 사용자 이름, 이메일, 비밀번호 등을 받는다. 프론트에서는 사용자가 누구인지 식별해야하므로, id를 내보낸다. id와 같이 프론트에서 사용할만한 데이터들은 내보내준다. (3) Mongoose Schema를 만든다. 반환할 json 데이터를 바탕으로 스키마를 만든다. ..

Backend/Node.js 2022.03.07

(Python3) 프로그래머스 - Lv.1 크레인 인형뽑기 게임

https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 문제 설명 게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. "죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 "5 x 5" 크기의 예시입니다). 각 ..

(Python3) 프로그래머스 - Lv.1 [카카오 인턴] 키패드 누르기

https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 문제 설명 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하..

(Python3) 프로그래머스 - Lv.1 숫자 문자열과 영단어

https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3..