본문 바로가기

전체 글78

[React] 구글 로그인 기능 구현(with firebase 소셜 로그인 인증) React Firebase Google Authentification리액트로 구현할 때, 파이어베이스를 이용하면 구글과 같은 소셜 로그인 기능을 쉽게 구현할 수 있다고 해서 적용해보았다. 구현은 쉬우나, 정보가 별로 없어서 글로 작성해보았다. 이번 글은 구글 로그인을 다루고, 다음 글에서 카카오톡 로그인을 다루겠다. 1. 파이어베이스 프로젝트 생성가장 처음에 할 일은 파이어베이스 콘솔로 가서 파이어베이스 프로젝트를 생성한다. 다음과 같은 이미지에서 프로젝트 만들기를 클릭한다.  프로젝트 이름을 입력하고, 구글 애널리틱스 설정을 사용할거냐 묻는데, 나는 연습 프로젝트이기에 사용을 안한다고 체크했다. 프로젝트 만들기를 클릭했으면 다음과 같이 홈이 나온다. 여기서 빌드>Authentification을 들어간다.. 2024. 8. 7.
백준 14222 배열과 연산 C++ 해설1부터 n까지 빈자리 모두 채워넣기 1부터 빈자리 찾아넣는다고 해서 그리디라고는 한다는거같은데 그리디의 개념은 조금 약한거 같다.간단하게 풀기 가능답#include #include #include using namespace std;int main(){ cin.tie(0); ios_base::sync_with_stdio(0); int n,k; cin>>n>>k; vector v(n); for(int i=0;i>v[i]; } sort(v.begin(),v.end()); vector visited(n,false); for(int i=0;i 2024. 8. 7.
백준 1781 컵라면 C++ 해설문제를 처음 보자마자 그리디 알고리즘인 것을 깨닫고 우선순위 큐를 사용하였다. n과 데드라인이 20만까지 나올 수 있으므로, n이 20만이고, 모든 숙제의 데드라인이 20만인 경우의 수를 생각해봐야 한다. 데드라인에 맞춰 가장 큰 컵라면의 수를 뽑을려 하면 시간초과에 걸린다. 그렇기에 반대로 생각해서 날짜를 정한다.제일 처음 날짜부터 차례대로 정해두고 가장 큰 컵라면의 수를 꺼내면 문제를 풀 수 있다. 이때, 데드라인때문에 삭제될 수 있는 값들은 우선순위 큐를 하나 더 이용해서 지우는 것이 포인트이다. 답 #include #include #include #include #define ll long longusing namespace std;int main(){ cin.tie(0); ios_.. 2024. 8. 3.
백준 14445 케이크(?) 자르기 C++ 해설애드혹 문제라서 발상을 떠올리는게 쉽지 않았다.케이크의 높이가 명시되어 있지 않으므로, 케이크의 높이가 케이크 윗면의 가로 길이랑 다를 수 있음을 인지해야 한다. 케이크의 높이가 다르기에 자르는 방식에 따라 케이크의 옆면에 묻은 생크림이 달라질 수 있다.이에 따라, 케이크의 윗면과 옆면을 어떻게 배분해야 하는가에서 난관이 생긴다. 그러나 이는 원을 n등분 할 때를 떠올리면 해결된다.  윗면이 원인 원통형 기둥을 생각해보자. 원의 중심을 따라 n등분하면 옆면을 쉽게 배분할 수 있다. 그래서 이 문제에서는 모든 절취선이 정사각형의 중심을 통해서 n등분이 되면 높이, 즉 옆면을 신경쓰지 않고 케이크를 수직으로 자르면 된다. 이제, 케이크의 윗면만 n등분해서 배분하면 되는 문제로 바뀐다. n = 1의 경우,.. 2024. 8. 2.
백준 12869 뮤탈리스크 간단한 해설 뮤탈 타다당을 얼마나 효율적으로 쏠 지 계산하는 문제 n이 최대 3이고 최대 체력이 60이니까 단순한 bfs로 해결할 수도 있다고 생각할 수 있으나, 방문 처리를 안해주면 방문한 곳을 재방문해서 시간초과가 일어날 수 있음을 명시해야 한다. 재방문처리를 생각하면 문제 유형은 dp+bfs라 생각해도 된다. 코드를 좀 더 간결하게 짤 수도 있었지만 그냥 문제풀이가 목적이므로 같은 부분을 반복해서 복붙했다. 헷갈리지 않도록 주석 쓴게 포인트답#include #include #include #include using namespace std;int dp[61][61][61];int main(){ cin.tie(0); ios_base::sync_with_stdio(0); int n; .. 2024. 7. 29.
React로 이미지 업로드 (with Blob, FileReader) 서론백엔드에서 이미지를 url로 보내주세요~라고 요청을 했는데, url?? 도대체 무슨 소리지...파일을 어떻게 보내지? 라는 생각이 들었다. Blob과 File 그리고 url 사이에서 무슨 소리지? 싶어서 찾아보았다.BlobBlob은 Binary Large Object의 약자로 주로 이미지, 오디오, 비디오와 같은 멀티미디어 파일 바이너리를 객체 형태로 저장한 것을 의미한다. 멀티미디어 파일들은 대다수 용량이 큰 경우가 많기 때문에, 이를 데이터베이스에 효과적으로 저장하기 위해 고안된 자료형이다. 이 Blob 객체는 blobpart와 optional type로 나누어져 있다. 먼저, blobpart는 Blob | BufferSource | String을 속성으로 지닌 값의 배열이다. optional t.. 2024. 7. 23.