본문 바로가기

전체 글

(61)
백준 15649번: N과 M (1) (Kotlin 코틀린) 문제 링크 : www.acmicpc.net/problem/15649 단순 백트래킹 문제이다. 1. Dfs를 이용해 모든 수열을 탐색한다 (단 이미 방문한 숫자가 나오는 경우는 제외 - 백트래킹) 2. m개의 숫자가 완성되어 수열이 완성되면 숫자를 출력한다. (숫자를 탐색할 때 오름차순으로 탐색하니 자동으로 사전 순으로 출력된다.) import java.io.* import java.util.* val br = BufferedReader(InputStreamReader(System.`in`)) val bw = BufferedWriter(OutputStreamWriter(System.out)) var n = 0 var m = 0 val check = BooleanArray(10, { false }) fun ..
git 기본 명령어 commit : 디렉토리에 있는 모든 파일에 대한 스냅샷을 기록하는 것, -> 각 커밋은 변경 내역을 기록함 git commit : 새로운 커밋을 생성(저장) git branch noah : noah라는 브랜치를 해당 커밋에서 생성 (브랜치는 특정 커밋에 대한 참조에 지나지 않기에 가벼움) git checkout noah : noah브랜치로 이동. git merge noah : noah브랜치의 커밋내용을 합쳐서 생성 (해당 브랜치만 merge한 곳으로 이동) - noah가 해당브랜치의 자식이면 noah로 이동만함 git rebase noah : 분기한 이후의 커밋들을 모아서 복사한 뒤 noah 뒤로 이어 붙임 (커밋트리의 히스토리를 수정하게됨) merge vs rebase -> merge는 히스토리 이력..
백준 9663번: N-Queen (C++) 문제 링크 : www.acmicpc.net/problem/9663 단순 백트래킹 문제다. 그냥 무작정 다 배치한 다음 확인을 하면 n^n이라는 어마어마한 시간복잡도가 나오게 된다. 결국 백트래킹을 사용해야한다. 1. 한 줄씩 queen을 놓아본다. 2. queen을 놓을 수 없는 상황이오면 바로 돌아간다.(백트래킹) #include #include using namespace std; vector queen; int n; int result = 0; bool can_exist(int x,int y) //해당 위체에 queen놓을 수 있는지 { for (int i = 0; i < queen.size(); i++) { int x2 = queen[i].first; int y2 = queen[i].second;..