분류 전체보기 35

[알고리즘] 백트래킹

모든 경우의 수를 확인해야할 때, for로는 확인 불가한 경우(깊이가 달라질 때)순열: m 중에 n을 뽑을때 순서가 상관 있는 경우  # 아이디어1부터 N중에 하나를 선택한뒤다음 1부터 N까지 선택할 때 이미 선택한 값이 아닌 경우 선택M개를 선택할 경우 프린트 # 시간 복잡도중복가능) n^n (8까지 가능)중복불가) n! (10까지 가능) # 15649'''1. 아이디어- 백트랙킹 재귀함수 안에서 for 돌면서 숫자 선택(이때 방문여부 확인)- 재귀함수 M개를 선택할 경우 print2. 시간 복잡도- 중복불가 n!3. 자료구조- 결과값 저장 int[]- 방문여부 체크 bool[]'''import sysinput = sys.stdin.readlineN, M=map(int,input().split())re..

알고리즘 2024.11.26

[알고리즘] BFS DFS

그래프 탐색: 어떤 것들이 연속해서 이어질 때, 모두 확인하는 방법BFS: Breadth-first search(너비 우선 탐색)DFS: Depth-first search(깊이 우선 탐색) # BFS## 아이디어시작점에 연결된 Vertex 찾기찾은 Vertex를 Queue에 저장Queue의 가장 먼저 것 뽑아서 반복 ## 시간복잡도O(V+E)(1초 연산 2억개) ## 자료구조검색할 그래프방문여부 확인BFS 실행할 Queue # DFS## 아이디어시작점에 연결된 Vertex 찾기연결된 Vertex를 계속해서 찾음(끝날때까지)더이상 연결된 Vertex 없을 경우 다음 ## 시간복잡도O(V+E) ## 자료구조검색할 그래프방문여부 확인

알고리즘 2024.11.26

[알고리즘] 다이나믹 프로그래밍

목적: 경우의 수가 너무 많아서 속도가 느려지는 문제를 개선하고자 수행시간을 단축하고자 만들어진 알고리즘 기억하기 알고리즘, 기억하며 풀기 1. DFS/BFS 로 풀 수는 있지는 경우의 수가 너무 많은 문제2. 경우의 수들에 중복적인 연산이 많은 경우 #1463n = int(input())dp = [0]*(n+1)for i in range(2,n+1): dp[i]=dp[i-1]+1 if(i%2==0): dp[i]=min(dp[i],dp[i//2]+1) if(i%3==0): dp[i]=min(dp[i],dp[i//3]+1)print(dp[n]) # 11726import sysn=int(sys.stdin.readline())dp=[0]*1001dp[1]=1dp[2]=..

알고리즘 2024.11.23

DB 날릴 뻔 했다

인턴을 하던 중 최고위기가 발생했다. 유지/보수 하고 있던 웹 사이트가 Internal server error가 발생했다. 웹 사이트 접속은 되는데 로그인을 하면 에러가 발생하는 것을 보고 db 서버에 문제가 있구나 싶었다. 그래서 mysql workbench로 db 접근하려고 하니까 아래와 같은 오류를 보게되었다. Cannot Connect to Database ServerYour connection attempt failed for user 'fff' to the MySAL server at 'ip address'.Unable to connect to localhostPleae:1. Check that MySQL is running on address 'ip address'2. Check that M..

Database 2024.10.11

[AOS] APK 란?

APK는 Android Package Kit 의 약자로, 안드로이드 운영체제에서 어플리케이션을 배포하고 설치할 때 사용하느 파일 형식이다. 어플리케이션의 코드, 리소스, 메니페스트 파일 등을 하나로 묶어둔 압축 파일로, 기본적으로 zip 형식으로 압축되어 있다. 안드로이드 기기에서 APK 파일을 설치하면 기기에 설치된다.APK 파일은 구글 플레이 스토를 통해 다운로드할 수 있지만, 외부에서 직접 다운로드받아 설치할 수도 있다. 다만 신뢰할 수 없는 출처에서 APK 파일을 설치하는 것은 보안 위험을 초래할 수 있다.APK 빌드 과정Release 빌드 설정:먼저 앱의 build.gradle 파일에서 필요한 설정을 한다. 빌드 설정은 debug와 release 두가지로 나뉘며, 일반적으로 배포용 APK는 re..

카테고리 없음 2024.09.20

[GIT] 잘못 올라간 파일 원격에서만 지우기

gitignore 해야할 파일을 잘못해서 올렸을때 원격에서만 그 파일/폴더를 지우는 명령어는 다음과 같다.git rm --cached -r 폴더명/파일명--cached 옵션은 Git의 인덱스에서만 제거하고, 워킹 디렉토리에서는 삭제하지 않는다. 즉, 파일이 Git의 추적에서는 제거되지만 로컬 파일 시스템에는 그대로 남아있는다.따라서 --cached 옵션을 작성해주지 않는다면 파일이나 폴더가 Git의 인덱스에서 제거될 뿐만 아니라, 실제로 로컬 파일 시스템에서도 삭제된다. 즉, 파일이 Git의 버전 관리에서 제거되며 동시에 로컬 디렉토리에서도 사라진다.-r 옵션은 폴더와 그 하위 모든 파일 및 폴더를 포함하여 삭제한다.위 과정을 터미널에서 진행하고 바로 원격에 적용되지 않기 때문에, 커밋을 작성후 push..

GIT 2024.09.12

[GIT] 변경사항 되돌리기

git reset 은 Git에서 변경 사항을 되돌리기 위해 사용하는 명령어이다.일반적으로 세 가지 주요 모드로 사용된다: --soft, --mixed, --hard.--soft 옵션git reset --soft HEAD~1최근 커밋을 취소하고 변경 사항을 스테이징 상태로 유지한다.--mixed 옵션git reset --mixed HEAD~1최근 커밋을 취소하고 변경 사항을 작업 디렉토리에 유지하되 인덱스에서는 제거한다.--hard 옵션git reset --hard HEAD~1최근 커밋을 취소하고 모든 변경 사항을 작업 디렉토리와 인덱스에서 제거한다.더불어서,git log 를 통해 커밋해시를 확인하고 git reset을 통해해당 커밋해시로 돌아갈 수도 있다.

GIT 2024.09.11

[GIT] Gitea에 대하여 & 윈도우에서 GIT 계정 바꾸기

Gitea 란?인턴을 하게 되었다! 우리 회사는 Gitea 라는 일종의 사내용 Github를 사용 중이다. Gitea는 Git을 기반으로 한 경량화된 오픈 소스 버전 관리 시스템으로, 여러 이유에서 사내용으로 많이 사용된다고 한다.Gitea is a painless, self-hosted, all-in-one software development service. It includes Git hosting, code review, team collaboration, package registry, and CI/CD. It is similar to GitHub, Bitbucket and GitLab.Gitea는 자체 호스팅되는 올인원 소프트웨어 개발 서비스입니다. 여기에는 Git 호스팅, 코드 검토, 팀 협..

GIT 2024.09.11

[MySQL] JOIN 사용 방법과 예시

1. INNER JOIN-> 교집합두 테이블 간의 공통된 값을 기반으로 그 값이 일치하는 행만 반환 SELECT *FROM AINNER JOIN B ON A.id = B.id;  -- table1id | name---------1 | Alice2 | Bob3 | Charlie-- table2id | product------------2 | Laptop3 | Phone4 | Tablet-- INNER JOIN을 하면id | name | product------------------------2 | Bob | Laptop3 | Charlie | Phone 2. LEFT JOIN (LEFT OUTER JOIN)  두 테이블 간의 공통된 값을 기반으로, 왼쪽 테이블의 모든 행과 오른쪽..

Database 2024.09.03
반응형