문제점 분명 같은 메일로 Commit을 날렸는데 제대로 인식하지 못하는 문제를 발견했습니다. 알고보니 @gmail.com이 아니라 @gmai.com으로 보냈더라구요.. 헛헛.. 해결방법 git filter-branch --env-filter ' WRONG_EMAIL="잘못된 이메일" NEW_NAME="사용자 이름" NEW_EMAIL="올바른 이메일" if [ "$GIT_COMMITTER_EMAIL" = "$WRONG_EMAIL" ] then export GIT_COMMITTER_NAME="$NEW_NAME" export GIT_COMMITTER_EMAIL="$NEW_EMAIL" fi if [ "$GIT_AUTHOR_EMAIL" = "$WRONG_EMAIL" ] then export GIT_AUTHOR_N..
7기 모집 공고 시간이 너무 빠르네요.. 벌써 5기도 수료까지 2개월 정도 남았습니다. 모집 안내 리플렛을 보시고 내용을 참고하시길 바라며, 지원 전에 제가 작성해둔 Q&A와 SSAFY 관련 게시글은 한 번씩 꼭 읽어보시면 도움 될 것입니다. 2021.01.09 - [후기/SSAFY] - 삼성 청년 SW 아카데미 SSAFY 지원 Q&A 모음 삼성 청년 SW 아카데미 SSAFY 지원 Q&A 모음 모든 내용은 지극히 주관적이며, 자세한 내부 정보는 공개하지 않습니다. 합격 이후의 Q&A는 따로 포스팅하겠습니다! 210414. 질문 일부 삭제 지원 관련 1. 서울/대전/구미/광주 어디가 제일 경쟁률 imksh.com 모집인원 5기는 750명, 6기는 950명, 7기는 1150명까지 확대된다는 기사를 접했습니다..
문제로 이동 이 문제의 핵심 1. 윷놀이 맵을 어떻게 구현할 것인가? 2. 두가지 루트로 이동을 어떻게 할 것인가? 시간 단축 윷놀이 맵을 어떻게 구현할 것인가에 따라 달라졌습니다. 어떻게보면 당연한 말이지만 O(1)로 다음 위치를 판단하게 할 것인지 아니면 재귀함수를 사용해 (마치 LinkedList처럼) 다음 위치를 판단하게 할 것인지 고민했습니다. 여러 시도 끝에 O(1)이 가장 빠른 속도를 보였습니다. 그 과정을 이 글에서 설명합니다. 1차 시도 (968ms) # 출발,도착 포함 33개 / 자식 index, 자신 점수 field = [[0, 0]] * 33 def init_field(): global field for i in range(0, 21): field[i] = [[i + 1, i * 2..
프로그래머스 테크피드 갑자기 방문수가 급증하고 외부 유입이 많길래 봤더니 Programmers에 제 블로그 포스팅이 걸려있더라구요.. 무한영광... 민망.. 아마 최근 Delivery Hero Korea 채용이 진행 중이었는데 똑똑한 AI(?)가 글을 걸어준 게 아닐까 생각되네요. 사실 해당 글이 풀이 포스팅도 아니고 정말.. 일기에 가까운 글인데 이렇게 유입되니 감개무량합니다ㅎㅎ 블로그를 하면서 제 글을 보고 가져가신 뒤 출처를 달아주시는 감사한 분들, 댓글로 추가적인 정보를 요청하시는 분들 덕에 할 맛 나는 것 같습니다 ㅎㅎ 지금은 삼성 리서치 오픈소스 프로젝트 때문에 정신없이 시간을 보내고 있는데, 10월엔 조금씩 시간을 내서 최근 진행한 2개 프로젝트에 대해 기술적인 방향으로 포스팅할 예정입니다...
원인 Client side에서 node 문법을 사용해서 발생했던 문제였고 이곳에서 솔루션을 찾았습니다. 해결 방법 크게 3가지 방법이 제시되어 있는데 간단히 Browserify로 해결할 수 있었습니다. Browserify는 require를 하는 모든 모듈을 하나의 코드로 합쳐주는 역할을 합니다. 우선, browserify를 설치하고 npm i -g browerify 원하는 파일을 browserify를 이용해 require 없이도 사용 가능한 파일로 만들어줍니다. browserify {대상 파일} -o {저장 경로} // ex) browserify src/test.js -o lib/bundle.js 새로운 문제 어쨌든 require 문제를 해결했는데, 모든 코드를 하나로 합쳤더니 무려 8800줄의 js 파..
작업 환경 Windows10 Chrome 에러 내용 Failed to load API definition Fetch error undefined http://localhost:8080/v2/api-docs There was an unexpected error (type=Internal Server Error, status=500). The request was rejected because the header value "(생략)=ê¹ì¸í¼ìí&4444&5555; admin=ê´ë¦¬ììí&3000&5555; csrftoken=c5vXn9tLMDisCLLstOQX78Tew0J5qE5htQkUrlE4DdHtKjEG4Pr9CxWdHRG0y4YL; _ga=GA1.1.462135574..
설치 환경 MAC OS STS 3.9.14 lombok 1.18.20 에러 내용 An error has occuerred. See error log for more details. Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String.byte[],int,int) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @ee2ae9a 원인 제 경우엔 jdk 버전 충돌로 확인됐습니다. 따라서 충돌나는 버전들을 정리했고 필요한 버전만 남겨두어 해결할 수 ..
문제 페이지 접근방법 백트래킹 이미 문제에도 명시가 되어 있듯이 정답이 3보다 큰 값이거나 불가능한 경우에 -1을 출력합니다. 즉, 재귀함수의 depth에 제약을 걸어 가지치기를 할 수 있다는 말입니다. 저는 depth가 3에 도달하게 되면 더 이상 재귀 함수를 돌지 않게 설정했습니다. 로직 2차원 Array 형태로 사다리 Map을 그려준다 우측으로 이동하는 사다리는 1, 좌측으로 이동하는 사다리는 -1을 넣어준다. 내려가는 사다리는 0이다. 모든 설치 가능한 구역에 사다리를 설치하는 브루트포스 문제이다. 그렇기 때문에 모든 구간을 순회하는 DFS를 사용한다. 각 사다리 별로 번호에 맞게 내려오는지 확인한다. 만약 맞다면, 정답을 갱신한다 만약 틀리다면, 가로 사다리를 계속해서 설치한다. Python C..
문제로 이동 접근 방법 누적합+이분탐색 카테고리여서 이분 탐색을 어떻게 사용할지 고민했습니다. 1. 전처리 배열 1개의 경우, 누적합을 구하기 위해 A[0] ~ A[n] 까지 배열을 순회하며 누적합을 넣어주지만 해당 문제를 이렇게 접근해버리면 안된다는 것은 알고 계실겁니다. # 일반적인 배열 1개의 누적합 arr = [0,1,2,3,4,5,6,7,8,9] for i in range(1,len(arr)): arr[i] = arr[i-1]+arr[i] # result : [0,1,3,6,10,15,21,28,36,45] 2개의 배열이기 때문에 이런 의문이 생길 수 있습니다. "각 배열의 비교 범위를 어떻게 선택할 것인가?" B 배열의 탐색 index가 하나 증가하게 되면 A 배열의 index는 처음으로 돌아..
문제로 이동 이번 글에서는 문제에 대한 설명과 풀이보다 골드 난이도임에도 불구하고 무려 11WA를 받게된 이유, 그리고 드디어 Solved 할 수 있었던 이유를 찾고 포스팅 했습니다. 혹시 "맞는데 왜 틀려" 늪에 빠져있다면 이 글을 보았을 때 도움이 될 수 있습니다😀 과거의 흔적 틀렸던 이유 1. RecursionError Python의 경우 재귀 함수의 깊이가 1000으로 고정되어 있습니다. 만약 1000번보다 더 큰 재귀를 돌기 위해선 Recursion을 설정해줘야 합니다. 5개월 전 당시엔 이를 DFS로 풀다가 놓쳤던 것 같네요 2. 시간초과 및 틀렸습니다 과거의 코드를 보니 빙산이 분리되는 구간에서 줄일 수 있는 로직이 보였고, 애초에 너무 복잡하게 생각을 했는지 코드가 직관적이지 못합니다 ㅠㅠ..