💻 Development 408

[Git] 이미 커밋한 내용의 계정 변경하기

gitlab과 github 계정을 따로 쓰는 바람에 gitlab에 커밋한 내용을 미러링해서 깃허브로 가져와도 contribution 반영이 되지 않았다. 찾아보니 rebase를 이용하면 문제를 해결할 수 있다고 한다. 상황 소스트리에서 살펴본 상황은 이랬고, 계정 이메일을 모두 naver.com으로 바꾸는 것이 목표였다. step 1 rebase git rebase -i -p COMMIT_HASH 사진 맨 오른쪽에 있는 값들이 commit id이다. 깃은 가장 최근에 커밋된 번호를 확인하지 않고 바로 커밋하기 위해 이처럼 hash 값을 사용한다. 여튼 우리는 수정하고 싶은 커밋의 바로 직전 hash 값을 알아야 한다. 애초에 첫 커밋부터 다른 계정으로 설정되었기 때문에 가장 처음 커밋한 값을 가져왔다. ..

[Node.js] nodemailer로 임시 비밀번호 발급 구현하기

nodemailer 로그인 시 비밀번호를 까먹어 임시 비밀번호를 발급받은 경험이 한 번쯤은 있을 것이다. node.js에서는 nodemailer 모듈을 통해 이메일을 쉽게 보낼 수 있다. 해당 모듈을 사용해 임시 비밀번호를 메일로 전송해주는 방법에 대해 알아보자. 설치 npm install nodemailer google 계정 보안 설정 변경 gmail을 통해 이메일을 보내게끔 했는데, 아래 두 설정을 해줘야 구글 계정에 정상적으로 접근하여 이메일을 보낼 수 있다. https://myaccount.google.com/lesssecureapps 보안 수준이 낮은 앱 허용 : 사용 https://accounts.google.com/DisplayUnlockCaptcha 내 Google 계정에 대한 액세스 허용..

[백준/BOJ] 1316 - 그룹 단어 체커

1316 - 그룹 단어 체커 문제 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오. 코드 N = int(input()) result = 0 words = [list(input()) for _ in range(N)] for word in words: dic = dict() flag = True for i in range(len(word)): if word[i] not i..

[MySQL] DATE_FORMAT으로 날짜 및 시간 형식 변경하기

MySQL에서 아래와 같이 DATE_FORMAT 함수를 이용하면 날짜나 시간 표기를 원하는 형식으로 바꿀 수 있다. DATE_FORMAT(DATE, FORMAT); 홈페이지에 굉장히 많은 포맷이 있는데, 자주 다룰법한 몇 가지를 정리해봤다. %Y : 4자리 연도 ex) 2021 %y : 2자리 연도 ex) 21 %M : 긴 월 ex) January %b : 짧은 월 ex) Jan %m : 긴 숫자 월 ex) 06 %c : 짧은 숫자 월 ex) 6 %d : 긴 일 ex) 08 %e : 짧은 일 ex) 8 %W : 긴 요일 ex) Monday %a : 짧은 요일 ex) Mon %I : 시간 (12시간 기준) ex) 12 (자정) %H : 시간 (24시간 기준) ex) 00 (자정) %i : 분 %s : 초 ..

[백준/BOJ] 1707 - 이분 그래프

1707 - 이분 그래프 문제 그래프의 정점의 집합을 둘로 분할하여, 각 집합에 속한 정점끼리는 서로 인접하지 않도록 분할할 수 있을 때, 그러한 그래프를 특별히 이분 그래프 (Bipartite Graph) 라 부른다. 그래프가 입력으로 주어졌을 때, 이 그래프가 이분 그래프인지 아닌지 판별하는 프로그램을 작성하시오. 코드 from collections import deque def bfs(n, visited, check): q = deque() q.append(n) visited[n] = True check[n] = 1 while q: x = q.popleft() for nx in graph[x]: if not visited[nx]: q.append(nx) check[nx] = check[x] * -1..

[백준/BOJ] 7453 - 합이 0인 네 정수

7453 - 합이 0인 네 정수 문제 정수로 이루어진 크기가 같은 배열 A, B, C, D가 있다. A[a], B[b], C[c], D[d]의 합이 0인 (a, b, c, d) 쌍의 개수를 구하는 프로그램을 작성하시오. 코드 from collections import defaultdict import sys input = sys.stdin.readline N = int(input()) A, B, C, D = [], [], [], [] for _ in range(N): a, b, c, d = map(int, input().split()) A.append(a) B.append(b) C.append(c) D.append(d) AB = defaultdict(int) for i in range(N): for j ..