[BOJ] 1326번: 폴짝폴짝
·
Problem Solving/Baekjoon
출처 : https://www.acmicpc.net/problem/1326 1326번: 폴짝폴짝 첫째 줄에 징검다리의 개수 N(1≤N≤10,000)이 주어지고, 이어서 각 징검다리에 쓰여 있는 N개의 정수가 주어진다. 그 다음 줄에는 N보다 작거나 같은 자연수 a, b가 주어지는 데, 이는 개구리가 a번 www.acmicpc.net 1. 문제 설명 개구리는 일렬로 놓여 있는 징검다리를 건넌다. 각 징검다리에는 숫자가 쓰여 있고 쓰여진 수의 배수만큼 떨어져 있는 곳으로만 이동할 수 있다. 2. 접근 방식 양수 배수 방향으로만 가는 조건을 고려해서 시간을 많이 썼다. 징검다리에는 양수의 배수 방향과 음수의 배수 방향 둘 다 올 수 있다는 점을 고려해야 한다. DFS가 아닌 BFS를 활용하는 이유는 q에 이동..
merge와 rebase
·
DevOps/Git, Github
Rebase 하기 Git에서 한 브랜치에서 다른 브랜치로 합치는 방법은 두 가지가 존재한다. 하나는 Merge이고, 다른 하나는 Rebase이다. 두 방법의 차이점을 살펴본다. Merge Rebase 그림을 보면 어떤 점이 다른 것 같은가? Merge의 경우, 기존의 커밋 히스토리는 남겨두고 merge하고자 하는 브랜치를 기준으로 새로운 커밋이 생긴다. 하지만 Rebase는 기존의 커밋은 사라지고 rebase하고자 하는 브랜치를 기준으로 커밋을 재정렬한다. 개인적으로 두 방법 중에 Merge가 좋은 것 같다. Rebase를 사용하면 커밋이 재정렬되어 깔끔해보이긴 하겠지만 큰 프로젝트에서 전체적인 프로세스 과정을 이해하거나 히스토리를 살펴볼 때는 Merge를 사용하면 이전 기록이 모두 남아있어서 더 좋지 ..
GIT - 브랜치 병합하기(merge)
·
DevOps/Git, Github
1. 빈폴더 생성 git init main : c0 c1 bugFix 브랜치 생성, c2 main : c3, git merge bugFix main : c4 2. git init touch 0 && git add . && git commit -m "C0" git checkout -b bugFix echo '안녕' > 1 && git add . && git commit -m "C1" git log --oneline --graph --all 1 파일의 내용의 안녕 으로 설정 후 커밋 git checkout main echo '잘가' > 1 && git add . && git commit -m "C2" git log --oneline --graph --all 1 파일의 내용의 잘가 으로 설정 후 커밋 git ..
알아두면 좋은 Windows 단축키
·
etc
F2 : 파일 이름 바꾸기 win : 창 분할 win + D : 바탕화면 보기 win + I : 컴퓨터 설정 win + shift + s : 캡처 추가되는대로 수정할 예정 :)
스프링부트 인텔리제이 세팅
·
etc/IntelliJ
설치직후 한번만 해도 되는 세팅 - 메뉴 => Help => Edit Custom VM Options -Dfile.encoding=UTF-8 인텔리제이 세팅, 프로젝트 생성시마다 해야하는 세팅 - 메뉴 => Build, Execution, Deployment => Compiler Build project automatically : 체크 이 설정은 스프링부트 프로젝트에서만 하면 된다. 일반 자바프로젝트에서는 필요없음
assertThat 라이브러리 추가하기
·
Backend/Spring Boot
dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1' testImplementation 'org.assertj:assertj-core:3.11.1' // assertThat 을 쓸 수 있게 해주는 라이브러리 } build.gradle 파일 수정하면 버튼이 활성되는데 그걸 꼭 눌러야 반영이 된다.
인텔리제이 자바 프로젝트에 맞는 .gitignore 파일 세팅
·
etc/IntelliJ
https://www.toptal.com/developers/gitignore/api/intellij,java 프로젝트 루트폴더에 .gitignore 파일 추가 후 위 링크로 들어가서 모든 내용을 복사 후 붙여넣기 !
웹 사이트에 SNS 공유 기능 넣기
·
etc
1. AddThis 로그인 2. Register 3. Share Buttons 4. Select a Tool Type 5. Activate Tool 6. Script 복사 후 태그 위(body의 제일 마지막 위치)에 붙여넣기 7. 타입에 따라 공유 버튼(Script 복사한 페이지에서 아래로 스크롤하다보면 나옴. 소스코드가 없을 수도 있음)을 넣고자하는 위치(index.html 내부)에 복사한 소스코드 붙여넣기 * 취향대로 Setting를 통해 사이즈 조절 및 모양 변경 가능
내가 만든 웹사이트에 광고 붙이기
·
etc
애드 네트워크(google Adsense, Kakao Adfit) => 회사들과 직접 계약을 맺지 않고 사용할 수 있는 장점 Kakao Adfit을 활용해 광고붙이는 방법 1. Kakao Adfit 로그인(https://adfit.kakao.com/) 2. 광고관리 -> 광고관리 클릭 3. 매체 등록 4. 매체명, URL 주소 입력 후 광고 단위 등록 5. 광고 단위명 및 사이즈 설정 6. 스크립트/SDK 발급 7. 스크립트 복사 후 index.html 파일에 넣고자하는 위치에 복사한 코드 붙여넣기 8. netlify 업데이트(작업한 폴더를 다시 끌어넣기)
netlify를 이용한 웹 사이트 배포하기
·
etc
1. netlify 가입 (https://www.netlify.com/) 2. Sites 카테고리 클릭 3. 작업한 폴더(배포하고자 하는 폴더) 전체를 드래그 후 삽입 4. 배포 완료 * site name을 변경하고 싶다면 Site overriew -> Site settings -> change site name을 통해 주소 변경 가능
[LeetCode] 1823. Find the Winner of the Circular Game
·
Problem Solving/LeetCode
출처 : https://leetcode.com/problems/find-the-winner-of-the-circular-game/description/ Find the Winner of the Circular Game - LeetCode Can you solve this real interview question? Find the Winner of the Circular Game - There are n friends that are playing a game. The friends are sitting in a circle and are numbered from 1 to n in clockwise order. More formally, moving clockwise from the it leetcode..
Floyd's tortoise and hare algorithm
·
Computer Science/Algorithms
이 글은 주니온TV 아무거나연구소 및 다른 글을 참고하여 작성된 글입니다. 토끼와 거북이 알고리즘 - 서로 다른 속도로 움직이는 두 개의 포인터를 이용해서 O(n)의 시간 복잡도, O(1)의 공간 복잡도로 cycle detection problem을 해결하는 알고리즘 (https://en.wikipedia.org/wiki/Cycle_detection)이다. 주어진 링크드 리스트에 사이클 존재 유무를 확인할 수 있는 방법이다. 1. 토끼와 거북이는 같은 장소에서 출발한다. 2. 거북이가 한 칸을 이동할 동안 토끼는 두 칸을 이동한다. 3. 만약 연결 리스트 내에 사이클이 없다면 토끼와 거북이는 이동 중에 Null 노드를 만날 것이다.(사이클 없음) 4. 만약 연결 리스트 내에 사이클이 있다면 토끼와 거북이..